aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorDenis Chertykov <chertykov@gmail.com>2014-07-08 20:15:18 +0400
committerDenis Chertykov <chertykov@gmail.com>2014-07-08 20:15:18 +0400
commitb484180108158f427f3637987de02199416ed53a (patch)
treec123a1d627f71707de7f5046b3d22074ad15795b /ld/scripttempl
parent5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34 (diff)
downloadgdb-b484180108158f427f3637987de02199416ed53a.zip
gdb-b484180108158f427f3637987de02199416ed53a.tar.gz
gdb-b484180108158f427f3637987de02199416ed53a.tar.bz2
* scripttempl/avr.sc: Remove KEEP for .data and
force .bss VMA to end of .data VMA.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/avr.sc7
1 files changed, 2 insertions, 5 deletions
diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc
index 10714e1..d356b71 100644
--- a/ld/scripttempl/avr.sc
+++ b/ld/scripttempl/avr.sc
@@ -166,10 +166,7 @@ SECTIONS
.data ${RELOCATING-0} :
{
${RELOCATING+ PROVIDE (__data_start = .) ; }
- /* --gc-sections will delete empty .data. This leads to wrong start
- addresses for subsequent sections because -Tdata= from the command
- line will have no effect, see PR13697. Thus, keep .data */
- KEEP (*(.data))
+ *(.data)
${RELOCATING+ *(.data*)}
*(.rodata) /* We need to include .rodata here if gcc is used */
${RELOCATING+ *(.rodata*)} /* with -fdata-sections. */
@@ -179,7 +176,7 @@ SECTIONS
${RELOCATING+ PROVIDE (__data_end = .) ; }
} ${RELOCATING+ > data ${RELOCATING+AT> text}}
- .bss ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
+ .bss ${RELOCATING+ ADDR(.data) + SIZEOF (.data)} ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
{
${RELOCATING+ PROVIDE (__bss_start = .) ; }
*(.bss)