OSDN Git Service

==> bfd/ChangeLog <==
authorDave Korn <dave.korn@artimi.com>
Tue, 19 May 2009 16:08:02 +0000 (16:08 +0000)
committerDave Korn <dave.korn@artimi.com>
Tue, 19 May 2009 16:08:02 +0000 (16:08 +0000)
2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

* cofflink.c (process_embedded_commands):  Ignore "-aligncomm".

==> gas/ChangeLog <==
2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

* NEWS:  Mention new feature.
* config/obj-coff.c (obj_coff_common_parse):  New function.
(obj_coff_comm):  Likewise.
(coff_pseudo_table):  Override default ".comm" definition on PE.
* doc/as.texinfo:  Document new feature.

==> gas/testsuite/ChangeLog <==
2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

* gas/pe/:  New directory for PE format-specific tests.
* gas/pe/aligncomm-a.d:  New test pattern file.
* gas/pe/aligncomm-a.s:  New test source file.
* gas/pe/aligncomm-b.d:  New test pattern file.
* gas/pe/aligncomm-b.s:  New test source file.
* gas/pe/aligncomm-c.d:  New test pattern file.
* gas/pe/aligncomm-c.s:  New test source file.
* gas/pe/aligncomm-d.d:  New test pattern file.
* gas/pe/aligncomm-d.s:  New test source file.
* gas/pe/pe.exp:  New test control script.
* lib/gas-defs.exp (is_pecoff_format):  New function.

==> ld/ChangeLog <==
2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

* NEWS:  Mention new feature.
* deffile.h (def_file_aligncomm):  Add new struct definition.
(def_file):  Add new def_file_aligncomm member.
* deffilep.y (%token):  Add new ALIGNCOMM token.
(command):  Add production rule for ALIGNCOMM.
(def_file_free):  Free any chained def_file_aligncomm structs.
(diropts[]):  Add entry for '-aligncomm' .drectve command.
(def_aligncomm):  New grammar function.
* ld.texinfo:  Document new feature.
* pe-dll.c (process_def_file):  Rename from this ...
(process_def_file_and_drectve):  ... to this, updating all callers,
and process any aligncomms chained to the def file after scanning
all .drectve sections.
(generate_edata):  Updated to match.
(pe_dll_build_sections):  Likewise.

==> ld/testsuite/ChangeLog <==
2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

* ld-pe/aligncomm-1.c:  New test source file.
* ld-pe/aligncomm-2.c:  Likewise.
* ld-pe/aligncomm-3.c:  Likewise.
* ld-pe/aligncomm-4.c:  Likewise.
* ld-pe/aligncomm.d:  New test pattern file.

* ld-pe/direct.exp:  Deleted, and content moved into ...
* ld-pe/pe-run.exp:  ... New common file for all PE run tests.

* ld-pe/vers-script.exp:  Deleted, and content merged into ...
* ld-pe/pe-compile.exp:  ... New common file for PE tests needing
a compiler, adding aligned common tests.

* ld-pe/pe.exp:  Update header comment.

bfd/ChangeLog
bfd/cofflink.c

index cf4b73f..8751c26 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * cofflink.c (process_embedded_commands):  Ignore "-aligncomm".
+
 2009-05-15  Andrew Stubbs  <ams@codesourcery.com>
        Paul Brook  <paul@codesourcery.com>
 
index d771168..96870e9 100644 (file)
@@ -1282,6 +1282,15 @@ process_embedded_commands (bfd *output_bfd,
       else if (CONST_STRNEQ (s, "-stack"))
        s = dores_com (s + 6, output_bfd, 0);
 
+      /* GNU extension for aligned commons.  */
+      else if (CONST_STRNEQ (s, "-aligncomm:"))
+       {
+         /* Common symbols must be aligned on reading, as it
+         is too late to do anything here, after they have
+         already been allocated, so just skip the directive.  */
+         s += 11;
+       }
+
       else
        s++;
     }