[patch] Fix handling of common symbols with plugins

Cary Coutant ccoutant@google.com
Mon Sep 29 17:21:00 GMT 2014


Is this still failing even after my patch last Thursday for PR
gold/17432? Or did it only start failing after that patch?

I see 8 in the value field in the .syms file, and an alignment of 8 on
.bss in the executable.

> Fails on x86_64 when using mainline gcc.  c1 is aligned (value = 8) in
> the relocatable object file
>     20: 0000000000000008     4 OBJECT  GLOBAL DEFAULT  COM c1

That looks like a dump of plugin_common_test_2.o.

> plugin_common_test_1.syms:
>     23: 0000000000000004     4 OBJECT  GLOBAL DEFAULT  COM c1

But this is from plugin_common_test_1.o. I expect
plugin_common_test_1.syms to have an alignment of 4.

> Final object file:
>     39: 0000000000401b7c     4 OBJECT  GLOBAL DEFAULT   25 c1
> and .bss only has an alignment of 4.

Is this from plugin_test_10?

Here's what I see:

$ grep c1 plugin_common_test_2.syms
    17: 0000000000000008     4 OBJECT  GLOBAL DEFAULT  COM c1

$ readelf -SW plugin_test_10 | grep \\.bss
  [26] .bss              NOBITS          0000000000401c30 000c30
00001c 00  WA  0   0  8

$ readelf -sW plugin_test_10 | grep c1
    51: 0000000000401c40     4 OBJECT  GLOBAL DEFAULT   26 c1

-cary



More information about the Binutils mailing list