aboutsummaryrefslogtreecommitdiff
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99304.patch
blob: ab1296347b673c8e3144e7830caec631954a98e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
2010-07-10  Yao Qi  <yao@codesourcery.com>

	Merge from Sourcery G++ 4.4:

	2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	libgcc/
	* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
	(arm*-*-symbianelf): Add arm/t-divmod-ef to tmake_file.
	* Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Set to previous
	default if not set by a target-specific Makefile fragment.
	(lib2-divmod-o, lib2-divmod-s-o): Use above.
	* config/arm/t-divmod-ef: New.

 2010-07-09  Sandra Loosemore  <sandra@codesourcery.com>
 
 	Merge from Sourcery G++ 4.4:

=== modified file 'libgcc/Makefile.in'
--- old/libgcc/Makefile.in	2010-03-30 12:08:52 +0000
+++ new/libgcc/Makefile.in	2010-07-30 12:21:02 +0000
@@ -400,18 +400,24 @@
 endif
 endif
 
+ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),)
+# Provide default flags for compiling divmod functions, if they haven't been
+# set already by a target-specific Makefile fragment.
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions
+endif
+
 # Build LIB2_DIVMOD_FUNCS.
 lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS))
 $(lib2-divmod-o): %$(objext): $(gcc_srcdir)/libgcc2.c
 	$(gcc_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
-	  -fexceptions -fnon-call-exceptions $(vis_hide)
+	  $(LIB2_DIVMOD_EXCEPTION_FLAGS) $(vis_hide)
 libgcc-objects += $(lib2-divmod-o)
 
 ifeq ($(enable_shared),yes)
 lib2-divmod-s-o = $(patsubst %,%_s$(objext),$(LIB2_DIVMOD_FUNCS))
 $(lib2-divmod-s-o): %_s$(objext): $(gcc_srcdir)/libgcc2.c
 	$(gcc_s_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
-	  -fexceptions -fnon-call-exceptions
+	  $(LIB2_DIVMOD_EXCEPTION_FLAGS)
 libgcc-s-objects += $(lib2-divmod-s-o)
 endif
 

=== modified file 'libgcc/config.host'
--- old/libgcc/config.host	2010-04-02 02:02:18 +0000
+++ new/libgcc/config.host	2010-07-30 12:21:02 +0000
@@ -208,12 +208,15 @@
 arm*-*-netbsd*)
 	;;
 arm*-*-linux*)			# ARM GNU/Linux with ELF
+	tmake_file="${tmake_file} arm/t-divmod-ef"
 	;;
 arm*-*-uclinux*)		# ARM ucLinux
+	tmake_file="${tmake_file} arm/t-divmod-ef"
 	;;
 arm*-*-ecos-elf)
 	;;
 arm*-*-eabi* | arm*-*-symbianelf* )
+	tmake_file="${tmake_file} arm/t-divmod-ef"
 	;;
 arm*-*-rtems*)
 	;;

=== added directory 'libgcc/config/arm'
=== added file 'libgcc/config/arm/t-divmod-ef'
--- old/libgcc/config/arm/t-divmod-ef	1970-01-01 00:00:00 +0000
+++ new/libgcc/config/arm/t-divmod-ef	2010-07-30 12:21:02 +0000
@@ -0,0 +1,4 @@
+# On ARM, specifying -fnon-call-exceptions will needlessly pull in
+# the unwinder in simple programs which use 64-bit division.  Omitting
+# the option is safe.
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions