Michael Tautschnig <m...@debian.org> writes: > src/argp/testsuite/ex3.c:const char *argp_program_bug_address = > "<bug-gnu-ut...@gnu.org>"; > src/argp/argp-ba.c:const char *argp_program_bug_address = 0;
> (The latter goes in src/argp/libargp.a.) > > The linker is free to pick either of the values; No, the linker does *not* have that freedom. A unix linker is supposed to process arguments in order, and bring in argp-ba.o from libargp.a if and only if the symbol argp_program_bug_address (the *only* symbol defined in that file) is referenced in the earlier objects, but *not* defined in the earlier objects. What does your linker command line look like? Order matters, and -largp must be placed after ex3.o. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org