https://sourceware.org/bugzilla/show_bug.cgi?id=29655
--- Comment #13 from Ulrich Weigand <uweigand at gcc dot gnu.org> --- In any case, I still don't quite get where there is any incompatibility. If `bar` resolves to its canonical PLT address, and you use `--defsym=foo=bar`, then `foo` will *also* resolve to the canonical PLT address of `bar`, so they still compare equal. If I change your test2.c to use "extern void foo();" instead, and add `-Wl,--defsym=foo=bar` to the command line, I get as expected: ./test1 foo=0x10004f8 bar=0x10004f8 Do you have a self-contained test case that actually shows an incompatibility (i.e. two pointers comparing unequal when they should compare equal)? -- You are receiving this mail because: You are on the CC list for the bug.