This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
- From: Rene Rebe <rene dot rebe at gmx dot net>
- To: rene at rocklinux dot org
- Cc: gcc at gcc dot gnu dot org, libc-alpha at sources dot redhat dot com, rock-linux at rocklinux dot org
- Date: Wed, 08 Jan 2003 02:44:49 +0100 (CET)
- Subject: Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
- References: <20030108.020044.846931922.rene.rebe@gmx.net>
Hi again.
Further review:
It is a gcc issue, since a Athlon optimised gcc-3.2.1 is able to
compile the same preprocessed file ...
On: Wed, 08 Jan 2003 02:00:44 +0100 (CET),
Rene Rebe <rene@rocklinux.org> wrote:
> Hi all.
>
> When we try to compile the glibc-2.3.1 with gcc-3.2.1 (unpatched
> vanilla sources) it fails for optimizations >= pentium2
>
> Here is the error output:
>
> debug-glibc:[signal]# make
> (echo '#include <sysdep.h>'; \
> echo 'PSEUDO (__kill, kill, 2)'; \
> echo ' ret'; \
> echo 'PSEUDO_END(__kill)'; \
> echo 'libc_hidden_def (__kill)'; \
> echo 'weak_alias (__kill, kill)'; \
> echo 'libc_hidden_weak (kill)'; \
> ) | i686-pc-linux-gnu-gcc-3 -c -I../include -I. -I.. -I../libio -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /rock-linux/rock-1.7/build/default-1.7-snapshot-ia32-pentium2-generic-expert/tools.cross/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/include -isystem /rock-linux/rock-1.7/build/default-1.7-snapshot-ia32-pentium2-generic-expert/root/usr/src/linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -DASSEMBLER -DGAS_SYNTAX -x assembler-with-cpp -o kill.os -
> {standard input}: Assembler messages:
> {standard input}:46: Warning: rest of line ignored; first ignored character is `1'
> {standard input}:46: Warning: rest of line ignored; first ignored character is `1'
> {standard input}:46: Warning: rest of line ignored; first ignored character is `1'
> {standard input}:46: Error: unrecognized symbol type ""
> {standard input}:46: Warning: rest of line ignored; first ignored character is `1'
> {standard input}:46: Warning: rest of line ignored; first ignored character is `1'
> {standard input}:46: Error: junk `.get_pc_thunk.bx' after expression
> make: *** [kill.os] Error 1
>
>
> And here what gcc has after preprocessing:
>
> # 1 "<stdin>"
> # 1 "<built-in>"
> # 1 "<command line>"
> # 1 "../include/libc-symbols.h" 1
> # 56 "../include/libc-symbols.h"
> # 1 "../config.h" 1
> # 57 "../include/libc-symbols.h" 2
> # 2 "<command line>" 2
> # 1 "<stdin>"
> # 1 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 1
> # 24 "../sysdeps/unix/sysv/linux/i386/sysdep.h"
> # 1 "../sysdeps/unix/i386/sysdep.h" 1
> # 19 "../sysdeps/unix/i386/sysdep.h"
> # 1 "../sysdeps/unix/sysdep.h" 1
> # 19 "../sysdeps/unix/sysdep.h"
> # 1 "../sysdeps/generic/sysdep.h" 1
> # 20 "../sysdeps/unix/sysdep.h" 2
>
> # 1 "../sysdeps/unix/sysv/linux/sys/syscall.h" 1
> # 25 "../sysdeps/unix/sysv/linux/sys/syscall.h"
> # 1 "/rock-linux/rock-1.7/build/default-1.7-snapshot-ia32-pentium2-generic-expert/root/usr/include/asm/unistd.h" 1
> # 26 "../sysdeps/unix/sysv/linux/sys/syscall.h" 2
> # 22 "../sysdeps/unix/sysdep.h" 2
> # 20 "../sysdeps/unix/i386/sysdep.h" 2
> # 1 "../sysdeps/i386/sysdep.h" 1
> # 20 "../sysdeps/i386/sysdep.h"
> # 1 "../sysdeps/generic/sysdep.h" 1
> # 21 "../sysdeps/i386/sysdep.h" 2
> # 21 "../sysdeps/unix/i386/sysdep.h" 2
> # 25 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2
> # 1 "../sysdeps/generic/bp-sym.h" 1
> # 26 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2
> # 1 "../sysdeps/i386/bp-asm.h" 1
> # 27 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2
> # 1 "../linuxthreads/sysdeps/i386/tls.h" 1
> # 23 "../linuxthreads/sysdeps/i386/tls.h"
> # 1 "../linuxthreads/sysdeps/i386/i686/pt-machine.h" 1
> # 28 "../linuxthreads/sysdeps/i386/i686/pt-machine.h"
> # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1
> # 29 "../linuxthreads/sysdeps/i386/i686/pt-machine.h" 2
> # 24 "../linuxthreads/sysdeps/i386/tls.h" 2
> # 28 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2
> # 2 "<stdin>" 2
> .text; 1: .stabs "",100,0,0,1b; 1: .stabs "__kill",100,0,0,1b; .globl __kill; .type __kill,@function; .align 1<<4; .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0; .stabs "__kill:F(0,1)",36,0,0,__kill; __kill: movl %ebx, %edx; movl 8(%esp), %ecx; movl 8 -4(%esp), %ebx; movl $37, %eax; int $0x80 ; movl %edx, %ebx; cmpl $-4095, %eax; jae 0f; .Lpseudo_end:
> ret
> 0:pushl %ebx; .section .gnu.linkonce.t. 1 .get_pc_thunk.bx,"ax",@progbits; .globl 1 .get_pc_thunk.bx; .hidden 1 .get_pc_thunk.bx; .type 1 .get_pc_thunk.bx,@function; 1 .get_pc_thunk.bx: movl (%esp), %ebx; ret; .previous; call 1 .get_pc_thunk.bx; addl $_GLOBAL_OFFSET_TABLE_, %ebx; xorl %edx, %edx; subl %eax, %edx; pushl %edx; ; call __errno_location@PLT; ; popl %ecx; popl %ebx; movl %ecx, (%eax); orl $-1, %eax; jmp .Lpseudo_end; .size __kill,.-__kill; 1: .stabs "",36,0,0,1b-__kill;
> .globl __GI___kill ; __GI___kill = __kill
> .weak kill ; kill = __kill
> .globl __GI_kill ; __GI_kill = kill
>
> Is simply the semicolon misplaced, or is there more to fix?
>
> Sincerely
> - René Rebe (ROCK Linux)
>
> --
> René Rebe - Europe/Germany/Berlin
> e-mail: rene.rebe@gmx.net, rene@rocklinux.org
> web: www.rocklinux.org, drocklinux.dyndns.org/rene/
>
> Anyone sending unwanted advertising e-mail to this address will be
> charged $25 for network traffic and computing time. By extracting my
> address from this message or its header, you agree to these terms.