mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
7ef3addbe1
ld * emultempl/msp430.em (change_output_section): New function. (move_prefixed_section): New function. (add_region_prefix): New function. (msp430_elf_after_open): New function. (gld${EMULATION_NAME}_add_options): Implement. (gld${EMULATION_NAME}_list_options): Implement. (gld${EMULATION_NAME}_handle_option): Implement. * ld.texinfo: Document new options. * testsuite/ld-msp430-elf/main-bss-lower.d: New. * testsuite/ld-msp430-elf/main-bss-upper.d: New. * testsuite/ld-msp430-elf/main-const-lower.d: New. * testsuite/ld-msp430-elf/main-const-upper.d: New. * testsuite/ld-msp430-elf/main-text-lower.d: New. * testsuite/ld-msp430-elf/main-text-upper.d: New. * testsuite/ld-msp430-elf/main-var-lower.d: New. * testsuite/ld-msp430-elf/main-var-upper.d: New. * testsuite/ld-msp430-elf/main-with-data-bss-unique-sec.s: New. * testsuite/ld-msp430-elf/main-with-data-bss.s: New. * testsuite/ld-msp430-elf/main-with-text-rodata-unique-sec.s: New. * testsuite/ld-msp430-elf/main-with-text-rodata.s: New. * testsuite/ld-msp430-elf/msp430-elf.exp: New. * testsuite/ld-msp430-elf/msp430-no-lower.ld: New. * testsuite/ld-msp430-elf/msp430.ld: New. * emultempl/msp430.em (data_statement_size): New. (eval_upper_either_sections): New. (eval_lower_either_sections): New. (intermediate_relax_sections): New. (msp430_elf_after_allocation): New. * emultempl/msp430.em (gld${EMULATION_NAME}_place_orphan): Always place sections in the lower region. gas * config/tc-msp430.c (md_parse_option): Define high data and high bss symbols if -mdata-region is passed. Define -mdata-region open. * doc/c-msp430.texi: Document -mdata-region. * testsuite/gas/msp430/high-data-bss-sym.d: New test. * testsuite/gas/msp430/high-data-bss-sym.s: New. * testsuite/gas/msp430/msp430.exp: Add -mdata-region tests.
50 lines
692 B
Plaintext
50 lines
692 B
Plaintext
/* Script for ld testsuite */
|
|
OUTPUT_ARCH(msp430)
|
|
ENTRY(_start)
|
|
|
|
MEMORY
|
|
{
|
|
RAM : ORIGIN = 0x0, LENGTH = 0x2
|
|
ROM : ORIGIN = 0x2, LENGTH = 0x1fe
|
|
HIFRAM : ORIGIN = 0x200, LENGTH = 0x1000
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
.text :
|
|
{
|
|
PROVIDE (_start = .);
|
|
. = ALIGN(2);
|
|
*(.text .stub .text.* .gnu.linkonce.t.* .text:*)
|
|
} > ROM
|
|
|
|
.rodata :
|
|
{
|
|
*(.upper.rodata.* .rodata)
|
|
} > ROM
|
|
|
|
.data :
|
|
{
|
|
. = ALIGN(2);
|
|
*(.data.* .data)
|
|
} > RAM AT> ROM
|
|
|
|
.bss :
|
|
{
|
|
. = ALIGN(2);
|
|
*(.bss.* .bss)
|
|
} > RAM
|
|
|
|
.upper.data :
|
|
{
|
|
. = ALIGN(2);
|
|
*(.upper.data.* .upper.data)
|
|
} > HIFRAM AT> ROM
|
|
|
|
.upper.bss :
|
|
{
|
|
. = ALIGN(2);
|
|
*(.upper.bss.* .upper.bss)
|
|
} > HIFRAM
|
|
}
|