This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: DWARF EH patch for AIX shared libraries, etc.


At 05:30 10.02.00 , Geoff Keating wrote:
>  (define_insn "return_eh_si"
>    [(use (match_operand:SI 0 "register_operand" "l,c"))
>     (return)
>+   (use (reg:SI 2))
>     (use (reg:SI 3))]
>    "TARGET_32BIT"
>    "@
>@@ -11310,6 +11314,7 @@
>  (define_insn "return_eh_di"
>    [(use (match_operand:DI 0 "register_operand" "l,c"))
>     (return)
>+   (use (reg:DI 2))
>     (use (reg:DI 3))]
>    "TARGET_64BIT"
>    "@

This USE of r2 nicely breaks powerpc-linux-gnu:

   ./xgcc -B/home/fsirl/gnubin/ppc-redhat-linux/bin/ -B./ 
-I/home/fsirl/gnubin/ppc-redhat-linux/include -O2   -DIN_GCC    -g -O0 -W 
-Wall -I./include
  -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 
-D__GCC_FLOAT_NOT_NEEDED   -mstrict-align -fexceptions -I. 
-I../../../cvsx/gccm/gcc -I../../../cvsx/gccm/
gcc/config -I../../../cvsx/gccm/gcc/../include -c \
       -DL${name} ../../../cvsx/gccm/gcc/libgcc2.c -o ${name}.o; \
   if [ $? -eq 0 ] ; then true; else exit 1; fi; \
   ar rc tmplibgcc2.a ${name}.o; \
   rm -f ${name}.o; \
done
_eh
../../../cvsx/gccm/gcc/libgcc2.c: In function `__throw':
../../../cvsx/gccm/gcc/libgcc2.c:4086: GOT/TOC register marker not removed:
(parallel[
         (use (reg:SI 66 ctr))
         (return)
         (use (reg:SI 2 r2))
         (use (reg:SI 3 r3))
     ] )
../../../cvsx/gccm/gcc/libgcc2.c:4086: Internal compiler error in 
`rs6000_reorg', at config/rs6000/rs6000.c:3081
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.


The pattern probably should be conditionalized on TARGET_AIX.

Franz.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]