diff options
author | Rong Xu <xur@google.com> | 2014-07-21 16:47:22 -0700 |
---|---|---|
committer | Rong Xu <xur@google.com> | 2014-07-29 15:31:03 -0700 |
commit | 38a8aecfb882072900434499696b5c32a2274515 (patch) | |
tree | 2aac97f0ae24b03cd98c1a06e989c031c173f889 /gcc-4.9/libgcc/config | |
parent | c231900e5dcc14d8296bd9f62b45997a49d4d5e7 (diff) | |
download | toolchain_gcc-38a8aecfb882072900434499696b5c32a2274515.zip toolchain_gcc-38a8aecfb882072900434499696b5c32a2274515.tar.gz toolchain_gcc-38a8aecfb882072900434499696b5c32a2274515.tar.bz2 |
[4.9] Switch gcc-4.9 to use google/gcc-4_9 branch.
This source drop uses svn version r212828 of google/gcc-4.9 branch.
We also cherry-picked r213062, r213063 and r213064 to fix windows
build issues.
All gcc-4.9 patches before July 3rd are ported to google/gcc-4.9.
The following prior commits has not been merged to google branch yet.
(They are included in this commit).
e7af147f979e657fe2df00808e5b4319b0e088c6,
baf87df3cb2683649ba7e9872362a7e721117c23, and
c231900e5dcc14d8296bd9f62b45997a49d4d5e7.
Change-Id: I4bea3ea470387ff751c2be4cb0d4a12059b9299b
Diffstat (limited to 'gcc-4.9/libgcc/config')
-rw-r--r-- | gcc-4.9/libgcc/config/arm/bpabi-lib.h | 4 | ||||
-rw-r--r-- | gcc-4.9/libgcc/config/arm/lib1funcs.S | 4 | ||||
-rw-r--r-- | gcc-4.9/libgcc/config/arm/sfp-machine.h | 8 | ||||
-rw-r--r-- | gcc-4.9/libgcc/config/mips/linux-unwind.h | 2 | ||||
-rw-r--r-- | gcc-4.9/libgcc/config/msp430/t-msp430 | 2 | ||||
-rw-r--r-- | gcc-4.9/libgcc/config/t-slibgcc-sld | 4 | ||||
-rw-r--r-- | gcc-4.9/libgcc/config/t-static-no-vis-hide | 2 |
7 files changed, 21 insertions, 5 deletions
diff --git a/gcc-4.9/libgcc/config/arm/bpabi-lib.h b/gcc-4.9/libgcc/config/arm/bpabi-lib.h index 193cc56..d6e7796 100644 --- a/gcc-4.9/libgcc/config/arm/bpabi-lib.h +++ b/gcc-4.9/libgcc/config/arm/bpabi-lib.h @@ -14,6 +14,10 @@ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see diff --git a/gcc-4.9/libgcc/config/arm/lib1funcs.S b/gcc-4.9/libgcc/config/arm/lib1funcs.S index 762b0ec..de7b402 100644 --- a/gcc-4.9/libgcc/config/arm/lib1funcs.S +++ b/gcc-4.9/libgcc/config/arm/lib1funcs.S @@ -1326,16 +1326,20 @@ LSYM(Lover12): ARM_FUNC_START div0 #endif +#if defined (__ANDROID__) /* ANDROID LOCAL BEGIN */ /* Adding stack unwinding directives to debug divide-by-0 errors */ .fnstart .save {r1, lr} +#endif do_push {r1, lr} mov r0, #SIGFPE bl SYM(raise) __PLT__ RETLDM r1 +#if defined (__ANDROID__) .fnend /* ANDROID LOCAL END */ +#endif #ifdef __ARM_EABI__ FUNC_END aeabi_ldiv0 diff --git a/gcc-4.9/libgcc/config/arm/sfp-machine.h b/gcc-4.9/libgcc/config/arm/sfp-machine.h index 4f2b15d..b7b5171 100644 --- a/gcc-4.9/libgcc/config/arm/sfp-machine.h +++ b/gcc-4.9/libgcc/config/arm/sfp-machine.h @@ -21,10 +21,10 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); /* According to RTABI, QNAN is only with the most significant bit of the significand set, and all other significand bits zero. */ -#define _FP_NANFRAC_H 0 -#define _FP_NANFRAC_S 0 -#define _FP_NANFRAC_D 0, 0 -#define _FP_NANFRAC_Q 0, 0, 0, 0 +#define _FP_NANFRAC_H _FP_QNANBIT_H +#define _FP_NANFRAC_S _FP_QNANBIT_S +#define _FP_NANFRAC_D _FP_QNANBIT_D, 0 +#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0 #define _FP_NANSIGN_H 0 #define _FP_NANSIGN_S 0 #define _FP_NANSIGN_D 0 diff --git a/gcc-4.9/libgcc/config/mips/linux-unwind.h b/gcc-4.9/libgcc/config/mips/linux-unwind.h index 33507de..61110fa 100644 --- a/gcc-4.9/libgcc/config/mips/linux-unwind.h +++ b/gcc-4.9/libgcc/config/mips/linux-unwind.h @@ -27,7 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see state data appropriately. See unwind-dw2.c for the structs. */ #include <signal.h> +#if defined (__ANDROID__) #include <asm/sigcontext.h> +#endif #include <asm/unistd.h> /* The third parameter to the signal handler points to something with diff --git a/gcc-4.9/libgcc/config/msp430/t-msp430 b/gcc-4.9/libgcc/config/msp430/t-msp430 index 7a7b680..f82c123 100644 --- a/gcc-4.9/libgcc/config/msp430/t-msp430 +++ b/gcc-4.9/libgcc/config/msp430/t-msp430 @@ -42,7 +42,7 @@ LIB2ADD = \ $(srcdir)/config/msp430/floathisf.c \ $(srcdir)/config/msp430/cmpd.c -HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections +HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections -mhwmult=none # Local Variables: # mode: Makefile diff --git a/gcc-4.9/libgcc/config/t-slibgcc-sld b/gcc-4.9/libgcc/config/t-slibgcc-sld index ec6e5db..0b95391 100644 --- a/gcc-4.9/libgcc/config/t-slibgcc-sld +++ b/gcc-4.9/libgcc/config/t-slibgcc-sld @@ -4,6 +4,8 @@ SHLIB_LDFLAGS = -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \ -Wl,-M,$(SHLIB_MAP) +ifeq ($(enable_shared),yes) + # Linker mapfile to enforce direct binding to libgcc_s unwinder # (PR target/59788). libgcc-unwind.map: libgcc-std.ver @@ -26,3 +28,5 @@ install-libgcc-unwind-map: libgcc-unwind.map $(INSTALL_DATA) $< $(DESTDIR)$(slibdir) install: install-libgcc-unwind-map + +endif diff --git a/gcc-4.9/libgcc/config/t-static-no-vis-hide b/gcc-4.9/libgcc/config/t-static-no-vis-hide new file mode 100644 index 0000000..955ff35 --- /dev/null +++ b/gcc-4.9/libgcc/config/t-static-no-vis-hide @@ -0,0 +1,2 @@ +# Don't hide symbols in static libraries. +vis_hide = |