[toolchain]: get rid of gcc 4.1.2 and 4.2.4 support
[openwrt.git] / 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