aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/libgcc/config
diff options
context:
space:
mode:
authorRong Xu <xur@google.com>2014-07-21 23:47:22 (GMT)
committerRong Xu <xur@google.com>2014-07-29 22:31:03 (GMT)
commit38a8aecfb882072900434499696b5c32a2274515 (patch)
tree2aac97f0ae24b03cd98c1a06e989c031c173f889 /gcc-4.9/libgcc/config
parentc231900e5dcc14d8296bd9f62b45997a49d4d5e7 (diff)
downloadtoolchain_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.h4
-rw-r--r--gcc-4.9/libgcc/config/arm/lib1funcs.S4
-rw-r--r--gcc-4.9/libgcc/config/arm/sfp-machine.h8
-rw-r--r--gcc-4.9/libgcc/config/mips/linux-unwind.h2
-rw-r--r--gcc-4.9/libgcc/config/msp430/t-msp4302
-rw-r--r--gcc-4.9/libgcc/config/t-slibgcc-sld4
-rw-r--r--gcc-4.9/libgcc/config/t-static-no-vis-hide2
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 =