Ben, I think, this is the same as #202924, introduced by the sparc64-build patch. Is there a reason that -Y P,/usr/lib is replaced with -L/usr/lib ?
--- sparc64-build.gcc-3.3.tmp/src/gcc/config/sparc/linux64.h 2003-03-13 08:40:33.000000000 +0000 +++ sparc64-build.gcc-3.3/src/gcc/config/sparc/linux64.h 2003-03-13 08:46:18.000000000 +0000 @@ -37,8 +37,8 @@ + MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128) #endif -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC "-Av9a" +#undef ASM_CPU64_DEFAULT_SPEC +#define ASM_CPU64_DEFAULT_SPEC "-Av9a" #ifdef SPARC_BI_ARCH @@ -153,7 +153,7 @@ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ { "link_arch", LINK_ARCH_SPEC }, -#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ +#define LINK_ARCH32_SPEC "-m elf32_sparc -L/usr/lib %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ @@ -162,7 +162,7 @@ %{static:-static}}} \ " -#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ +#define LINK_ARCH64_SPEC "-m elf64_sparc -L/usr/lib64 %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ @@ -222,7 +222,7 @@ #else /* !SPARC_BI_ARCH */ #undef LINK_SPEC -#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ +#define LINK_SPEC "-m elf64_sparc -L/usr/lib64 %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ Aurelien Jarno writes: > Package: gcc-3.3 > Version: 1:3.3.1-0pre0 > Severity: normal > > Hello, > > I remarked a problem with gcc on Sparc which concerns the linking order > of libraries. I have done a simple test to show that: > > First foo.c: > <---> > void foo() > { > } > > <---> > > Second file, main.c: > <---> > int main() > { > foo(); > return 0; > } > > <---> > > Then the commands: > gcc -c -o foo.o foo.c > ar -rcu libutil.a foo.o > ranlib libutil.a > gcc -c -o main.o main.c > > Until there everything works on all architectures. > > But when linking, I get the following on Sparc: > gcc -o main main.o -L. -lutil > > main.o(.text+0x4): In function `main': > : undefined reference to `foo' > collect2: ld returned 1 exit status > > It seems that the library /usr/lib/libutil.a is used instead of the > libutil.a in the current directory. AFAIK, the problem appears only on > Sparc (among Debian supported architectures), and moreover only with > gcc-3.2 and gcc-3.3 (it works well with gcc-2.95). > > Aurelien > > > -- System Information: > Debian Release: testing/unstable > Architecture: sparc > Kernel: Linux vore 2.4.21-rc2 #1 Fri May 16 09:03:19 EDT 2003 sparc64 > Locale: LANG=C, LC_CTYPE=C > > Versions of packages gcc-3.3 depends on: > ii binutils 2.14.90.0.4-0.1 The GNU assembler, linker and > bina > ii cpp-3.3 1:3.3.1-0pre0 The GNU C preprocessor > ii gcc-3.3-base 1:3.3.1-0pre0 The GNU Compiler Collection > (base > ii libc6 2.3.2-1 GNU C Library: Shared libraries > an > ii libgcc1 1:3.3.1-0pre0 GCC support library > > -- no debconf information > > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]