Set alignment of common plugin symbol to 1 for For ELF targets.
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Nov 2010 17:34:16 +0000 (17:34 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Nov 2010 17:34:16 +0000 (17:34 +0000)
2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/12246
* plugin.c (asymbol_from_plugin_symbol): Set alignment of
common symbol to 1 for For ELF targets.

ld/ChangeLog
ld/plugin.c

index 9b8826c..330b547 100644 (file)
@@ -1,5 +1,11 @@
 2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>
 
+       PR ld/12246
+       * plugin.c (asymbol_from_plugin_symbol): Set alignment of
+       common symbol to 1 for For ELF targets.
+
+2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>
+
        PR ld/12247
        * lexsup.c (parse_args): Properly report loading plugin error.
 
index 79b39e8..c4337d9 100644 (file)
@@ -292,6 +292,9 @@ asymbol_from_plugin_symbol (bfd *abfd, asymbol *asym,
       flags = BSF_GLOBAL;
       section = bfd_com_section_ptr;
       asym->value = ldsym->size;
+      /* For ELF targets, set alignment of common symbol to 1.  */
+      if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+       ((elf_symbol_type *) asym)->internal_elf_sym.st_value = 1;
       break;
 
     default: