aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/nios2
diff options
context:
space:
mode:
authorChung-Lin Tang <cltang@gcc.gnu.org>2014-02-20 16:35:10 +0000
committerChung-Lin Tang <cltang@gcc.gnu.org>2014-02-20 16:35:10 +0000
commit95ce7613d537f5a3e9e36da0ca6aa752f60da8e0 (patch)
treeb1f600a5eba1093381a8df96df089f1579c35fd6 /libgcc/config/nios2
parent4bbfc5fa4d4378ff138290a604f7065b014746bc (diff)
downloadgcc-95ce7613d537f5a3e9e36da0ca6aa752f60da8e0.zip
gcc-95ce7613d537f5a3e9e36da0ca6aa752f60da8e0.tar.gz
gcc-95ce7613d537f5a3e9e36da0ca6aa752f60da8e0.tar.bz2
nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
2014-02-20 Chung-Lin Tang <cltang@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum. * config/nios2/nios2.c (nios2_function_profiler): Add -fPIC (flag_pic == 2) support. (nios2_handle_custom_fpu_cfg): Fix warning parameter. (nios2_large_offset_p): New function. (nios2_unspec_reloc_p): Move up position, update to use nios2_large_offset_p. (nios2_unspec_address): Remove function. (nios2_unspec_offset): New function. (nios2_large_got_address): New function. (nios2_got_address): Add large offset support. (nios2_legitimize_tls_address): Update usage of removed and new functions. (nios2_symbol_binds_local_p): New function. (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support. (nios2_legitimize_address): Update to use nios2_large_offset_p. (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)). (nios2_print_operand): Merge H/L processing, add hiadj/lo processing for (const (unspec ...)). (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case. gcc/testsuite/ * gcc.target/nios2/biggot-1.c: New. * gcc.target/nios2/biggot-2.c: New. libgcc/ * config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt. * config/nios2/crti.S: Remove .file directive. * config/nios2/crtn.S: Likewise. From-SVN: r207965
Diffstat (limited to 'libgcc/config/nios2')
-rw-r--r--libgcc/config/nios2/crti.S2
-rw-r--r--libgcc/config/nios2/crtn.S8
-rw-r--r--libgcc/config/nios2/t-nios23
3 files changed, 5 insertions, 8 deletions
diff --git a/libgcc/config/nios2/crti.S b/libgcc/config/nios2/crti.S
index 9f5d523..f21346c 100644
--- a/libgcc/config/nios2/crti.S
+++ b/libgcc/config/nios2/crti.S
@@ -36,8 +36,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
See crt0.s for the code that calls init and fini. */
- .file "crti.asm"
-
.section ".init"
.align 2
.global _init
diff --git a/libgcc/config/nios2/crtn.S b/libgcc/config/nios2/crtn.S
index a66b449..54c9cb6 100644
--- a/libgcc/config/nios2/crtn.S
+++ b/libgcc/config/nios2/crtn.S
@@ -23,12 +23,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* This file just makes sure that the .fini and .init sections do in
-fact return. Users may put any desired instructions in those sections.
-This file is the last thing linked into any executable.
-*/
- .file "crtn.asm"
-
-
+ fact return. Users may put any desired instructions in those sections.
+ This file is the last thing linked into any executable. */
.section ".init"
ldw ra, 44(sp)
diff --git a/libgcc/config/nios2/t-nios2 b/libgcc/config/nios2/t-nios2
index 320dedf..7a81a7f 100644
--- a/libgcc/config/nios2/t-nios2
+++ b/libgcc/config/nios2/t-nios2
@@ -3,3 +3,6 @@ LIB2ADD += $(srcdir)/config/nios2/lib2-divmod.c \
$(srcdir)/config/nios2/lib2-divtable.c \
$(srcdir)/config/nios2/lib2-mul.c \
$(srcdir)/config/nios2/tramp.c
+
+# Disable use of GP-relative addressing in startup code.
+CRTSTUFF_T_CFLAGS += -mno-gpopt