diff options
author | Nick Clifton <nickc@redhat.com> | 2010-10-06 08:58:59 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2010-10-06 08:58:59 +0000 |
commit | ea5cae92bdd0686144ac42346d32c58e6f0e0b16 (patch) | |
tree | c8b3bc69800b8c40581a0b39dd1c198e565ffb17 /gold/script-sections.h | |
parent | c0e4ee6b249d0e2fc3f3e4e0864e00faf93fe126 (diff) | |
download | gdb-ea5cae92bdd0686144ac42346d32c58e6f0e0b16.zip gdb-ea5cae92bdd0686144ac42346d32c58e6f0e0b16.tar.gz gdb-ea5cae92bdd0686144ac42346d32c58e6f0e0b16.tar.bz2 |
* script-sections.cc(class Memory_region): Remove
current_lma_offset_ field. Rename current_vma_offset_ to
current_offset_. Add last_section_ field.
(Memory_region::get_current_vma_address): Rename to
get_current_address.
(Memory_region::get_current_lma_address): Delete.
(Memory_region::increment_vma_offset): Rename to
increment_offset.
(Memory_region::increment_lma_offset): Delete.
(Memory_region::attributes_compatible): New method. Returns
true if the provided section is compatible with the region.
(Memory_region::get_last_section): New method. Returns the last
section to use the region.
(Memory_region::set_last_section): New method. Stores the last
section to use the region.
(Script_sections::block_in_region): New method. Returns true if
a block of memory is contained within a region.
(Script_sections::find_memory_region): New method. Locates a
memory region to be used to set a VMA or LMA address.
(Output_section_definition::set_section_addresses): Add code to
check for addresses set by memory regions.
(Output_segment::set_section_addresses): Remove memory region
walking code.
(Script_sections::create_segment): Add a warning if a header
segment is created outside of any region.
* script-sections.h (class Script_sections): Add prototypes for
find_memory_region and block_in_region methods.
* testsuite/memory_test.s: Use .long instead of .word.
* testsuite/memory_test.t: Add some more output sections.
* testsuite/memory_test.sh: Update expected output.
* ld.texinfo: Update description of computation of VMA and LMA
addresses for output sections.
* ld-scripts/rgn-at5.t: Add some more output sections.
* ld-scripts/rgn-at5.d: Update expected output.
Diffstat (limited to 'gold/script-sections.h')
-rw-r--r-- | gold/script-sections.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gold/script-sections.h b/gold/script-sections.h index 1a0b760..ee1adae 100644 --- a/gold/script-sections.h +++ b/gold/script-sections.h @@ -234,10 +234,20 @@ class Script_sections Expression* find_memory_region_length(const char*, size_t); - // Find a memory region. + // Find a memory region by name. Memory_region* find_memory_region(const char*, size_t); + // Find a memory region that should be used by a given output section. + Memory_region* + find_memory_region(Output_section_definition*, bool, + Output_section_definition**); + + // Returns true if the provide block of memory is contained + // within a memory region. + bool + block_in_region(Symbol_table*, Layout*, uint64_t, uint64_t) const; + // Set the memory region of the section. void set_memory_region(Memory_region*, bool); |