aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1998-09-30 18:37:55 +0000
committerNick Clifton <nickc@redhat.com>1998-09-30 18:37:55 +0000
commit8d3859c765bb418c50d33db0e11410732154b8fb (patch)
treee8390e9d1d414b4548623c4fa7cb937007c923a2 /ld/scripttempl
parentb481c113bb4fd815730eb330fef6669476629f96 (diff)
downloadgdb-8d3859c765bb418c50d33db0e11410732154b8fb.zip
gdb-8d3859c765bb418c50d33db0e11410732154b8fb.tar.gz
gdb-8d3859c765bb418c50d33db0e11410732154b8fb.tar.bz2
Fix for PR 17063 - do not create a section called .call_table, instead create
sections called .call_table_data and .call_table_text.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/v850.sc39
1 files changed, 35 insertions, 4 deletions
diff --git a/ld/scripttempl/v850.sc b/ld/scripttempl/v850.sc
index a1c4ff5..4b6ac64 100644
--- a/ld/scripttempl/v850.sc
+++ b/ld/scripttempl/v850.sc
@@ -12,9 +12,19 @@ SECTIONS
.zdata ${ZDATA_START_ADDR} : {
*(.zdata)
- *(.rozdata)
*(.zbss)
*(reszdata)
+ *(.zcommon)
+ }
+
+ /* This is the read only part of the zero data area.
+ Having it as a seperate section prevents its
+ attributes from being inherited by the zdata
+ section. Specifically it prevents the zdata
+ section from being marked READONLY. */
+
+ .rozdata ${ROZDATA_START_ADDR} : {
+ *(.rozdata)
*(romzdata)
*(romzbss)
}
@@ -58,6 +68,21 @@ SECTIONS
${RELOCATING+_etext = .;}
${RELOCATING+PROVIDE (etext = .);}
+/* start-sanitize-v850e */
+ /* This is special code area at the end of the normal text section.
+ It contains a small lookup table at the start followed by the
+ code pointed to by entries in the lookup table. */
+
+ .call_table_data ${CALL_TABLE_START_ADDR} : {
+ ${RELOCATING+PROVIDE(__ctbp = .);}
+ *(.call_table_data)
+ } = 0xff /* fill gaps with 0xff */
+ .call_table_text : {
+ *(.call_table_text)
+ }
+
+/* end-sanitize-v850e */
+
.fini : { *(.fini) } =0
.rodata : { *(.rodata) *(.gnu.linkonce.r*) }
.rodata1 : { *(.rodata1) }
@@ -86,8 +111,10 @@ SECTIONS
.tdata ${TDATA_START_ADDR} : {
${RELOCATING+PROVIDE (__ep = .);}
*(.tbyte)
+ *(.tcommon_byte)
*(.tdata)
*(.tbss)
+ *(.tcommon)
}
/* We want the small data sections together, so single-instruction offsets
@@ -95,13 +122,17 @@ SECTIONS
we can shorten the on-disk segment size. */
.sdata ${SDATA_START_ADDR} : {
${RELOCATING+PROVIDE (__gp = . + 0x8000);}
- *(.rosdata)
*(.sdata)
${RELOCATING+__sbss_start = .;}
*(.sbss)
*(.scommon)
}
+ /* See comment about .rozdata */
+ .rosdata ${ROSDATA_START_ADDR} : {
+ *(.rosdata)
+ }
+
${RELOCATING+_edata = DEFINED (__sbss_start) ? __sbss_start : . ;}
${RELOCATING+PROVIDE (edata = _edata);}
@@ -156,9 +187,9 @@ SECTIONS
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
-/* .stack 0xffffec00 : { _stack = .; *(.stack) }*/
+ /* User stack */
.stack 0x200000 : {
- ${RELOCATING+_stack = .;}
+ ${RELOCATING+__stack = .;}
*(.stack)
}
/* These must appear regardless of . */