[Bug 236165] crash in malloc with ld.lld and -Wl,--export-dynamic -static
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Mar 2 18:58:45 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236165
Bug ID: 236165
Summary: crash in malloc with ld.lld and -Wl,--export-dynamic
-static
Product: Base System
Version: 12.0-STABLE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: bugs at FreeBSD.org
Reporter: andrew at tao11.riddles.org.uk
The combination of -Wl,--export-dynamic and -static is used by some Autoconf
tests ("checking whether a statically linked program can dlopen itself"). This
consistently drops a core on 12-stable (tested at r344237) but apparently not
on 11-stable. Tested on amd64 and armv7.
dlopen is not actually implicated in the issue: it can be reproduced with only
this:
#include <stdlib.h>
int main()
{
malloc(1);
return 0;
}
cc -g -Wl,--export-dynamic -static testprog.c
./a.out
segmentation fault (core dumped) ./a.out
The problem seems to be that the a.out is actually dynamic in spite of the
-static option, but it still has libc.a statically linked into it. With ld.bfd,
the a.out comes out as static and there is no coredump.
I doubt this is breaking any real code, but it generates a lot of worrying
logfile entries when building ports.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list