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

1--- a/gcc/mklibgcc.in
2+++ b/gcc/mklibgcc.in
3@@ -214,6 +214,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@@ -320,6 +321,7 @@ for ml in $MULTILIBS; do
12         -c '$(srcdir)/libgcc2.c' -o $out
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@@ -355,6 +357,7 @@ for ml in $MULTILIBS; do
20         -fexceptions -fnon-call-exceptions -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@@ -397,6 +400,7 @@ for ml in $MULTILIBS; do
28               '$(vis_hide)' -c $fpbit -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@@ -502,6 +506,7 @@ for ml in $MULTILIBS; do
36       esac
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@@ -621,6 +626,7 @@ for ml in $MULTILIBS; do
44     *) echo "Unhandled extension: $file">&2; exit 1 ;;
45       esac
46 
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@@ -793,6 +799,13 @@ EOF
52   echo "all: $libgcc_a"
53 
54   echo ""
55+ echo "$libgcc_pic_a: stmp-dirs"
56+ echo " -rm -f $libgcc_pic_a"
57+ echo ' $(AR_CREATE_FOR_TARGET)' $libgcc_pic_a '$(objects)'
58+ echo ' $(RANLIB_FOR_TARGET)' $libgcc_pic_a
59+ echo "all: $libgcc_pic_a"
60+
61+ echo ""
62   echo "$libgcov_a: stmp-dirs"
63   echo " -rm -f $libgcov_a"
64   echo ' $(AR_CREATE_FOR_TARGET)' $libgcov_a '$(objects)'
65@@ -894,6 +907,10 @@ for ml in $MULTILIBS; do
66     echo ' chmod 644' ${ldir}/libgcc_eh.a
67     echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
68 
69+ echo ' $(INSTALL_DATA)' ${dir}/libgcc_pic.a ${mapfile} ${ldir}/
70+ echo ' chmod 644' ${ldir}/libgcc_pic.a
71+ echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_pic.a
72+
73     shlib_slibdir_qual=
74     os_multilib_dir=`$GCC_FOR_TARGET $flags --print-multi-os-directory`
75     if [ "$os_multilib_dir" != . ]; then
76

Archive Download this file



interactive