ea5cae92bd
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.
20 lines
570 B
Makefile
20 lines
570 B
Makefile
# name: rgn-at5
|
|
# source: rgn-at5.s
|
|
# ld: -T rgn-at5.t -z max-page-size=0x1000
|
|
# objdump: -w -h
|
|
# target: *-*-linux*
|
|
# xfail: rx-*-*
|
|
# FAILS on the RX because the linker has to set LMA == VMA for the
|
|
# Renesas loader.
|
|
|
|
.*: file format .*
|
|
|
|
Sections:
|
|
Idx +Name +Size +VMA +LMA +File off +Algn +Flags
|
|
0 .sec0 +0+4 +0+2000 +0+2000 +0+1000 +.*
|
|
1 .sec1 +0+4 +0+1000 +0+2004 +0+2000 +.*
|
|
2 .sec2 +0+4 +0+4000 +0+603c +0+4000 +.*
|
|
3 .sec3 +0+4 +0+5000 +0+5000 +0+3000 +.*
|
|
4 .sec4 +0+4 +0+2008 +0+2008 +0+2008 +.*
|
|
5 .sec5 +0+4 +0+200c +0+200c +0+200c +.*
|
|
#pass
|