diff options
author | Chung-Lin Tang <cltang@gcc.gnu.org> | 2014-02-20 16:35:10 +0000 |
---|---|---|
committer | Chung-Lin Tang <cltang@gcc.gnu.org> | 2014-02-20 16:35:10 +0000 |
commit | 95ce7613d537f5a3e9e36da0ca6aa752f60da8e0 (patch) | |
tree | b1f600a5eba1093381a8df96df089f1579c35fd6 /libgcc | |
parent | 4bbfc5fa4d4378ff138290a604f7065b014746bc (diff) | |
download | gcc-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')
-rw-r--r-- | libgcc/ChangeLog | 7 | ||||
-rw-r--r-- | libgcc/config/nios2/crti.S | 2 | ||||
-rw-r--r-- | libgcc/config/nios2/crtn.S | 8 | ||||
-rw-r--r-- | libgcc/config/nios2/t-nios2 | 3 |
4 files changed, 12 insertions, 8 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 4c3ff91..1dae020 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,10 @@ +2014-02-20 Sandra Loosemore <sandra@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + + * config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt. + * config/nios2/crti.S: Remove .file directive. + * config/nios2/crtn.S: Likewise. + 2014-02-18 Kai Tietz <ktietz@redhat.com> Jonathan Schleifer <js@webkeks.org> 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 |