trampolines crash on apple-powerpc-darwin (known for a long time, but still not fixed in gcc-3.3) Release: gcc-3.3 Environment: apple-powerpc-darwin 6.4 ppc7400
Fix: # bug fix for trampolines (Andrew Reynolds) *** gcc/config/rs6000/darwin-tramp.asm.orig Sat Dec 29 09:07:56 2001 --- gcc/config/rs6000/darwin-tramp.asm Mon Feb 10 01:55:39 2003 *************** *** 60,75 **** .globl ___trampoline_setup ___trampoline_setup: ! mflr r0 /* save return address */ ! bcl 20,31,LCF0 /* load up __trampoline_initial into r7 */ ! LCF0: ! mflr r11 ! addi r7,r11,ha16(LTRAMP-LCF0) ! lwz r7,lo16(LTRAMP-LCF0)(r7) ! subi r7,r7,4 ! li r8,trampoline_size /* verify trampoline big enough */ ! cmpw cr1,r8,r4 ! srwi r4,r4,2 /* # words to move */ addi r9,r3,-4 /* adjust pointer for lwzu */ mtctr r4 blt cr1,Labort --- 60,74 ---- .globl ___trampoline_setup ___trampoline_setup: ! mflr r0 /* save return address */ ! bcl 20,31,LCF0 /* load up __trampoline_initial into r7 */ ! LCF0: ! Ltrampoline_address = Ltrampoline_initial-4-. ! mflr r11 ! addi r7,r11,Ltrampoline_address ! li r8,trampoline_size /* verify trampoline big enough */ ! cmpw cr1,r8,r4 ! srwi r4,r4,2 /* # words to move */ addi r9,r3,-4 /* adjust pointer for lwzu */ mtctr r4 blt cr1,Labort *************** *** 124,131 **** #else bl _abort #endif - .data - .align 2 - LTRAMP: - .long Ltrampoline_initial --- 123,126 ----
Responsible-Changed-From-To: unassigned->shebs Responsible-Changed-Why: Stan, can you take a look? There's even a patch in this PR. Thanks W.
Confirmed still present on mainline sources (20030705). Sent a mail to the list, so hopefully somebody will review this soon.
This patch is needed for Ada support.
Subject: Re: [mac os x] trampolines crash pinskia at physics dot uc dot edu wrote: > This patch is needed for Ada support. It is also needed for Pascal support. Regards, Adriaan van Os
This should be fixed for 3.3.2 because it blocks Ada building and Pascal building (hopefully Pascal gets included for 3.5).
Subject: Re: [mac os x] trampolines crash On Sun, 6 Jul 2003, gcc at microbizz dot nl wrote: > It is also needed for Pascal support. Are there any plans to merge Pascal into the GCC distribution? Stage 1 for GCC 3.4 has now ended, so it's probably too late for 3.4, but maybe for 3.5?
Subject: Re: [darwin] trampolines crash jsm at polyomino dot org dot uk wrote: >> It is also needed for Pascal support. > > Are there any plans to merge Pascal into the GCC distribution? Stage 1 > for GCC 3.4 has now ended, so it's probably too late for 3.4, but maybe > for 3.5? There are no immediate plans to merge Pascal into the GCC distribution, but for most platforms GCC releases are followed closely. The GNU Pascal for Mac OS X compiler (www.microbizz.nl/gpc.html) is in need of two important fixes in the GCC back-end, PR 10900 and 10901. Regards, Adriaan van Os
Subject: Bug 10900 CVSROOT: /cvs/gcc Module name: gcc Changes by: dalej@gcc.gnu.org 2003-07-07 17:27:53 Modified files: gcc : ChangeLog gcc/config/rs6000: darwin-tramp.asm Log message: Fix PR 10900. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.377&r2=2.378 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/darwin-tramp.asm.diff?cvsroot=gcc&r1=1.2&r2=1.3
Subject: Bug 10900 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: dalej@gcc.gnu.org 2003-07-07 17:31:46 Modified files: gcc : ChangeLog gcc/config/rs6000: darwin-tramp.asm Log message: Fix PR 10900. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.638&r2=1.16114.2.639 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/darwin-tramp.asm.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2&r2=1.2.42.1
Fixed for 3.3.1 and 3.4. Thanks Dale.
Subject: Re: [darwin] trampolines crash I can confirm that the patch works for Pascal. Thanks, Adriaan van Os
This was really fixed for 3.3.1.