diff options
author | Cary Coutant <ccoutant@gmail.com> | 2015-08-26 00:03:04 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2015-08-26 00:03:04 -0700 |
commit | 7c61d651fd0e42b8f68840a3735ed7e46d4fd083 (patch) | |
tree | d17fe965b2c4f27550fc720f54fb2b204d77f44f /gold/ChangeLog | |
parent | 4bfacfd359a1f8d026d1a350f56f2f5d70b6cb65 (diff) | |
download | gdb-7c61d651fd0e42b8f68840a3735ed7e46d4fd083.zip gdb-7c61d651fd0e42b8f68840a3735ed7e46d4fd083.tar.gz gdb-7c61d651fd0e42b8f68840a3735ed7e46d4fd083.tar.bz2 |
Fix problem where script specified both address and region for a section.
If a script specifies both address and region for an output section
declaration, gold ignores the region specification. This can lead to
bogus "moves backward" errors. This patch fixes gold so that if a
section specifies both address and region, it will place the section
at the specified address in the region, and update the location counter
within the region.
gold/
PR gold/18847
* script-sections.cc (Memory_region::set_address): New method.
(Script_sections::find_memory_region): Add explicit_only parameter.
(Output_section_definition::set_section_addresses): Handle case where
script specifies both address and vma region.
* script-sections.h (Script_sections::find_memory_region): Add
explicit_only parameter.
Diffstat (limited to 'gold/ChangeLog')
-rw-r--r-- | gold/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index fdc70155..5d0a764 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,15 @@ 2015-08-25 Cary Coutant <ccoutant@gmail.com> + PR gold/18847 + * script-sections.cc (Memory_region::set_address): New method. + (Script_sections::find_memory_region): Add explicit_only parameter. + (Output_section_definition::set_section_addresses): Handle case where + script specifies both address and vma region. + * script-sections.h (Script_sections::find_memory_region): Add + explicit_only parameter. + +2015-08-25 Cary Coutant <ccoutant@gmail.com> + PR gold/18859 * object.cc (Input_objects::add_object): Store objects in a map, indexed by soname; update as-needed flag when necessary. |