]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
ld/
authorRoland McGrath <roland@gnu.org>
Tue, 11 Dec 2012 22:24:03 +0000 (22:24 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 11 Dec 2012 22:24:03 +0000 (22:24 +0000)
* emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function.
(RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation
on SEGMENT_START("text-segment", ...) rather than ... alone.
* Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing
dependency on $(srcdir)/emulparams/elf_nacl.sh.
* Makefile.in: Regenerate.

ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/emulparams/elf_nacl.sh

index 00323e035767c648d33a833d7c059fb43d7bf926..b889478689cc087effa3df070ecb6236a63f9f4f 100644 (file)
@@ -1,3 +1,12 @@
+2012-12-11  Roland McGrath  <mcgrathr@google.com>
+
+       * emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function.
+       (RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation
+       on SEGMENT_START("text-segment", ...) rather than ... alone.
+       * Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing
+       dependency on $(srcdir)/emulparams/elf_nacl.sh.
+       * Makefile.in: Regenerate.
+
 2012-11-26  Roland McGrath  <mcgrathr@google.com>
 
        * emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
index 4c692ea289528d52db4a30d385bd68332ef09b19..e343ab06531054392ae09d67ecb2dc3022053c07 100644 (file)
@@ -722,6 +722,7 @@ earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
 earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
   $(srcdir)/emulparams/armelf_linux_eabi.sh \
   $(srcdir)/emulparams/armelf_linux.sh \
+  $(srcdir)/emulparams/elf_nacl.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armelf_nacl "$(tdir_armelf_nacl)"
@@ -755,6 +756,7 @@ earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
   $(srcdir)/emulparams/armelf_nacl.sh \
   $(srcdir)/emulparams/armelf_linux_eabi.sh \
   $(srcdir)/emulparams/armelf_linux.sh \
+  $(srcdir)/emulparams/elf_nacl.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armelfb_nacl "$(tdir_armelfb_nacl)"
index a675d017505c76c7dd00cc42c308929e42c4fdee..7da93b46501b8f8aa076134b903e1cdf34025941 100644 (file)
@@ -2192,6 +2192,7 @@ earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
 earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
   $(srcdir)/emulparams/armelf_linux_eabi.sh \
   $(srcdir)/emulparams/armelf_linux.sh \
+  $(srcdir)/emulparams/elf_nacl.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armelf_nacl "$(tdir_armelf_nacl)"
@@ -2225,6 +2226,7 @@ earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
   $(srcdir)/emulparams/armelf_nacl.sh \
   $(srcdir)/emulparams/armelf_linux_eabi.sh \
   $(srcdir)/emulparams/armelf_linux.sh \
+  $(srcdir)/emulparams/elf_nacl.sh \
   $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armelfb_nacl "$(tdir_armelfb_nacl)"
index 0073c0f5b0812fb832f90e8030c440bf8755c6b2..657cd06f13ba32ce9ca0bb94982fc38ba93d02da 100644 (file)
@@ -2,5 +2,13 @@ ENABLE_INITFINI_ARRAY=yes
 SEPARATE_CODE=yes
 TEXT_START_ADDR=0x20000
 NACL_RODATA_DISTANCE=0x10000000
-RODATA_ADDR="${TEXT_START_ADDR} + ${NACL_RODATA_DISTANCE} + SIZEOF_HEADERS"
-SHLIB_RODATA_ADDR="${NACL_RODATA_DISTANCE} + SIZEOF_HEADERS"
+
+nacl_rodata_addr()
+{
+  nacl_text_addr="SEGMENT_START(\"text-segment\", $1)"
+  nacl_rodata_addr="$nacl_text_addr + ${NACL_RODATA_DISTANCE} + SIZEOF_HEADERS"
+  echo "$nacl_rodata_addr"
+}
+
+RODATA_ADDR=`nacl_rodata_addr "${TEXT_START_ADDR}"`
+SHLIB_RODATA_ADDR=`nacl_rodata_addr 0`