summaryrefslogtreecommitdiff
path: root/cleopatre/buildroot/toolchain/elf2flt/elf2flt.nios2.conditional
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/buildroot/toolchain/elf2flt/elf2flt.nios2.conditional')
-rw-r--r--cleopatre/buildroot/toolchain/elf2flt/elf2flt.nios2.conditional47
1 files changed, 47 insertions, 0 deletions
diff --git a/cleopatre/buildroot/toolchain/elf2flt/elf2flt.nios2.conditional b/cleopatre/buildroot/toolchain/elf2flt/elf2flt.nios2.conditional
new file mode 100644
index 0000000000..96a3a9710d
--- /dev/null
+++ b/cleopatre/buildroot/toolchain/elf2flt/elf2flt.nios2.conditional
@@ -0,0 +1,47 @@
+--- elf2flt/elf2flt.ld
++++ elf2flt/elf2flt.ld
+@@ -63,12 +63,16 @@
+ *(.eh_frame)
+ *(.gcc_except_table)
+
++ /* nios2 need gp */
++ _gp = ABSOLUTE(ALIGN(16) + 0x7ff0);
++ PROVIDE(gp = _gp);
++
+ /* Microblaze has .sdata and .sbss (small bss). They must
+ be contiguous, so please don't move any of this. JW */
+ _ssrw = . ;
+ *(.sdata)
+ *(.sdata.*)
+- *(.sbss) /* Don't move this! */
++ *(.sbss .gnu.linkonce.sb*) /* Don't move this! */
+ _essrw = . ;
+
+ _ssrw_size = _essrw - _ssrw;
+@@ -176,4 +180,6 @@
+ .debug_line 0 : { *(.debug_line) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ .debug_aranges 0 : { *(.debug_aranges) }
++ .debug_frame 0 : { *(.debug_frame) }
++ .debug_str 0 : { *(.debug_str) }
+ }
+--- elf2flt/ld-elf2flt.in
++++ elf2flt/ld-elf2flt.in
+@@ -132,7 +132,7 @@
+ esac
+ ARG1="$ARG1 -defsym $GOT_OFFSET=`expr ${SHARED_ID} '*' -4 - 4`"
+ fi
+- if [ "@emit_relocs@" = "yes" ]
++ if [ "no" = "yes" ]
+ then
+ SEDOP="$SEDOP -e s/^SINGLE_LINK://"
+ else
+@@ -155,7 +155,7 @@
+ LDSCRIPT="$NEWLDSCRIPT"
+ fi
+
+- if [ "@emit_relocs@" = "yes" ]
++ if [ "no" = "yes" ]
+ then
+ $LINKER $EMUL $SDIRS -T $LDSCRIPT -q -o "$OFILE.gdb" $ARG1 ||exit $?
+ RFILE="$OFILE.gdb"