% uname -a Darwin varro 7.5.0 Darwin Kernel Version 7.5.0: Thu Aug 5 19:26:16 PDT 2004; root:xnu/xnu-517.7.21.obj~3/RELEASE_PPC Power Macintosh powerpc % gcc -v Reading specs from /private/var/automount/usr/local/gcc-3.4.1/powerpc- Darwin/bin/../lib/gcc/powerpc-apple-darwin7.3.0/3.4.1/specs Configured with: ../gcc-3.4.1/configure --enable-languages=c -- prefix=/usr/local/gcc-3.4.1/powerpc-Darwin Thread model: posix gcc version 3.4.1 % cat foo.c /* On powerpc-apple-darwin7.5.0 gcc-3.4.1 gives % gcc -c foo.c /var/tmp//ccdpYiCe.s:24:FATAL:Symbol L_foo$stub already defined. This is a regression from gcc-3.3.3. It does not seem to happen on other architectures that I have tried. It seems to be fixed in gcc-3.5-20040530. */ int foo(a) int a; { int foo(); /* if you remove this line, the bug disappears */ foo(a); return 0; } %
Testing a patch. The patch which fixed on the mainline which I am back porting: <http://gcc.gnu.org/ml/gcc-patches/2004-02/msg02647.html>.
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2004-08/msg01933.html>.
Postponed until GCC 3.4.3.
Subject: Bug 17167 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: pinskia@gcc.gnu.org 2004-09-11 20:32:24 Modified files: gcc/config : darwin-protos.h darwin.c darwin.h gcc : ChangeLog Log message: 2004-09-11 Andrew Pinski <apinski@apple.com> PR target/17167 backport from the mainline: 2004-02-28 Andrew Pinski <pinskia@physics.uc.edu> * config/darwin.h (machopic_finish): Output stub even if the symbol is already defined. 2004-02-27 Dale Johannesen <dalej@apple.com> * config/darwin.c (machopic_output_possible_stub_label): Remove. config/darwin-protos.h: Ditto. config/darwin.h: Remove call to it. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/darwin-protos.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.29&r2=1.29.6.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/darwin.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.55.6.1&r2=1.55.6.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/darwin.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.65.4.2&r2=1.65.4.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.618&r2=2.2326.2.619
Fixed.