Root/toolchain/gcc/patches/4.1.2/820-libgcc_pic.patch

1--- a/gcc/mklibgcc.in
2+++ b/gcc/mklibgcc.in
3@@ -195,6 +195,7 @@ for ml in $MULTILIBS; do
4   flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
5   shlib_slibdir_qual=
6   libgcc_a=$dir/libgcc.a
7+ libgcc_pic_a=$dir/libgcc_pic.a
8   libgcov_a=$dir/libgcov.a
9   libgcc_eh_a=
10   libgcc_s_so=
11@@ -261,6 +262,7 @@ for ml in $MULTILIBS; do
12       echo "${outV}: ${outS}; \$(gen-hide-list)"
13 
14       echo $libgcc_a: $out
15+ echo $libgcc_pic_a: $outS
16       echo $libgcc_s_so: $outS
17       if [ "$SHLIB_MKMAP" ]; then
18         echo libgcc/${dir}/libgcc.map: $outS
19@@ -301,6 +303,7 @@ for ml in $MULTILIBS; do
20         -c '$(srcdir)/libgcc2.c' -o $out
21 
22       echo $libgcc_a: $out
23+ echo $libgcc_pic_a: $outS
24       echo $libgcc_s_so: $outS
25       if [ "$SHLIB_MKMAP" ]; then
26         echo libgcc/${dir}/libgcc.map: $outS
27@@ -336,6 +339,7 @@ for ml in $MULTILIBS; do
28         -fexceptions -fnon-call-exceptions -c '$(srcdir)/libgcc2.c' -o $out
29 
30       echo $libgcc_a: $out
31+ echo $libgcc_pic_a: $outS
32       echo $libgcc_s_so: $outS
33       if [ "$SHLIB_MKMAP" ]; then
34         echo libgcc/${dir}/libgcc.map: $outS
35@@ -369,6 +373,7 @@ for ml in $MULTILIBS; do
36       '$(vis_hide)' -c $FPBIT -o $out
37 
38     echo $libgcc_a: $out
39+ echo $libgcc_pic_a: $outS
40     echo $libgcc_s_so: $outS
41     if [ "$SHLIB_MKMAP" ]; then
42       echo libgcc/${dir}/libgcc.map: $outS
43@@ -400,6 +405,7 @@ for ml in $MULTILIBS; do
44       '$(vis_hide)' -c $DPBIT -o $out
45 
46     echo $libgcc_a: $out
47+ echo $libgcc_pic_a: $outS
48     echo $libgcc_s_so: $outS
49     if [ "$SHLIB_MKMAP" ]; then
50       echo libgcc/${dir}/libgcc.map: $outS
51@@ -430,6 +436,7 @@ for ml in $MULTILIBS; do
52       '$(vis_hide)' -c $TPBIT -o $out
53 
54     echo $libgcc_a: $out
55+ echo $libgcc_pic_a: $outS
56     echo $libgcc_s_so: $outS
57     if [ "$SHLIB_MKMAP" ]; then
58       echo libgcc/${dir}/libgcc.map: $outS
59@@ -482,6 +489,7 @@ for ml in $MULTILIBS; do
60       esac
61 
62       echo $libgcc_a: $out
63+ echo $libgcc_pic_a: $outS
64       echo $libgcc_s_so: $outS
65       if [ "$SHLIB_MKMAP" ]; then
66     echo libgcc/${dir}/libgcc.map: $outS
67@@ -601,6 +609,7 @@ for ml in $MULTILIBS; do
68     *) echo "Unhandled extension: $file">&2; exit 1 ;;
69       esac
70 
71+ echo $libgcc_pic_a: $outS
72       echo $libgcc_s_so: $outS
73       if [ "$SHLIB_MKMAP" ]; then
74     echo libgcc/${dir}/libgcc.map: $outS
75@@ -773,6 +782,13 @@ EOF
76   echo "all: $libgcc_a"
77 
78   echo ""
79+ echo "$libgcc_pic_a: stmp-dirs"
80+ echo " -rm -f $libgcc_pic_a"
81+ echo ' $(AR_CREATE_FOR_TARGET)' $libgcc_pic_a '$(objects)'
82+ echo ' $(RANLIB_FOR_TARGET)' $libgcc_pic_a
83+ echo "all: $libgcc_pic_a"
84+
85+ echo ""
86   echo "$libgcov_a: stmp-dirs"
87   echo " -rm -f $libgcov_a"
88   echo ' $(AR_CREATE_FOR_TARGET)' $libgcov_a '$(objects)'
89@@ -874,6 +890,10 @@ for ml in $MULTILIBS; do
90     echo ' chmod 644' ${ldir}/libgcc_eh.a
91     echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
92 
93+ echo ' $(INSTALL_DATA)' ${dir}/libgcc_pic.a ${mapfile} ${ldir}/
94+ echo ' chmod 644' ${ldir}/libgcc_pic.a
95+ echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_pic.a
96+
97     shlib_slibdir_qual=
98     os_multilib_dir=`$GCC_FOR_TARGET $flags --print-multi-os-directory`
99     if [ "$os_multilib_dir" != . ]; then
100

Archive Download this file



interactive