This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug build/23985] New: broken build: libinproctrace.so may depend on gnulib


https://sourceware.org/bugzilla/show_bug.cgi?id=23985

            Bug ID: 23985
           Summary: broken build: libinproctrace.so may depend on gnulib
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: build
          Assignee: unassigned at sourceware dot org
          Reporter: nsz at gcc dot gnu.org
  Target Milestone: ---

in gdbserver/Makefile.in, IPA_LIB objects may use gnulib apis (may be libiberty
ones too?).

This is a bug since gnulib is not linked into the produced shared library.

Either gdb should ensure that gnulib replacement apis are never used in the
built shared libs or it should build gnulib suitably for shared libraries (with
-fPIC) and link it into them (ideally with all gnulib symbols hidden).

I don't see an obvious way to make gnulib shared library compatible (currently
it's imported with --no-libtool, i think libtool can make it work, but that has
a lot of other ill effects) other than hack -fPIC into the CFLAGS somewhere.

with musl libc this causes

  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

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]