clang -pg, libm and the _end symbol
Konstantin Belousov
kostikbel at gmail.com
Wed Feb 24 13:19:59 UTC 2016
On Wed, Feb 24, 2016 at 01:54:25PM +0100, Dimitry Andric wrote:
> On 24 Feb 2016, at 12:27, Raphael Kubo da Costa <rakuco at FreeBSD.org> wrote:
> >
> > I'm reviewing an update to the textproc/miller port in bug 207194, and
> > noticed it does some ugly things in post-configure to seemingly
> > work around the following problem (on 11-HEAD at least):
> >
> > % echo 'int main(void) { return 0; }' > foo.c
> > % clang -pg foo.c -lm
> > /usr/bin/ld: undefined reference to symbol `_end' (try adding -lc)
> > //lib/libc.so.7: could not read symbols: Bad value
> > cc: error: linker command failed with exit code 1 (use -v to see
> > invocation)
>
> Try using: clang -pg foo.c -lm_p
>
> That works for me (also with gcc).
It probably not quite works, in the sense that it resolves _end to
something not correctly provided by libm_p.a. In other words, sbrk(),
if used for anything, would be broken.
More information about the freebsd-toolchain
mailing list