diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2018-12-14 14:02:54 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2019-01-30 18:03:36 +0000 |
commit | 956cc47c5614b0d50bf538e3dcc88c81560fa64c (patch) | |
tree | 3b4cbf2ed6892542e1ee4e9c2b35b0fddeee1412 /Makefile.in | |
parent | b5eba2d8c050b39943918057283470959a5d18c3 (diff) | |
download | gdb-956cc47c5614b0d50bf538e3dcc88c81560fa64c.zip gdb-956cc47c5614b0d50bf538e3dcc88c81560fa64c.tar.gz gdb-956cc47c5614b0d50bf538e3dcc88c81560fa64c.tar.bz2 |
[PR gdb/23985] Fix libinproctrace.so build
The IPA objects currently may use gnulib replacement apis, which is
wrong: gnulib is not linked into the produced dso and it cannot be
because it is not built with -fPIC -fvisibility=hidden.
The gnulib replacement detection is broken under cross compilation:
for targets other than *-gnu*, replacements are enabled that depend
on execution time detection. This causes unnecessary build failure
when the target has proper support for the replaced api.
This fix tries to undo the replacements, which is tricky because the
gnulib headers are still used for various compile time fixups and
there is no simple knob in gnulib to only turn the replacements off.
Without this workaround gdb fails to cross build to non-gnu targets:
ld: tracepoint-ipa.o: in function `gdb_agent_helper_thread(void*)':
gdb/gdbserver/tracepoint.c:7221: undefined reference to `rpl_strerror'
...
Makefile:434: recipe for target 'libinproctrace.so' failed
gdb/gdbserver/ChangeLog:
PR gdb/23985
* Makefile.in (IPAGENT_CFLAGS): Add UNDO_GNULIB_CFLAGS.
(UNDO_GNULIB_CFLAGS): Undo gnulib replacements.
Diffstat (limited to 'Makefile.in')
0 files changed, 0 insertions, 0 deletions