* compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
@ 2003-01-08 2:59 Rene Rebe
2003-01-08 5:27 ` Rene Rebe
2003-01-08 18:36 ` Joe Buck
0 siblings, 2 replies; 7+ messages in thread
From: Rene Rebe @ 2003-01-08 2:59 UTC (permalink / raw)
To: gcc, libc-alpha; +Cc: rock-linux
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
2003-01-08 2:59 compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II Rene Rebe
@ 2003-01-08 5:27 ` Rene Rebe
2003-01-08 19:04 ` Alexandre Oliva
2003-01-08 23:44 ` Richard Henderson
2003-01-08 18:36 ` Joe Buck
1 sibling, 2 replies; 7+ messages in thread
From: Rene Rebe @ 2003-01-08 5:27 UTC (permalink / raw)
To: rene; +Cc: gcc, libc-alpha, rock-linux
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
2003-01-08 5:27 ` Rene Rebe
@ 2003-01-08 19:04 ` Alexandre Oliva
2003-01-08 22:05 ` Joe Buck
2003-01-08 23:44 ` Richard Henderson
1 sibling, 1 reply; 7+ messages in thread
From: Alexandre Oliva @ 2003-01-08 19:04 UTC (permalink / raw)
To: Rene Rebe; +Cc: rene, gcc, libc-alpha, rock-linux
On Jan 7, 2003, Rene Rebe <rene.rebe@gmx.net> wrote:
> It is a gcc issue, since a Athlon optimised gcc-3.2.1 is able to
> compile the same preprocessed file ...
It's very unlikely to be a GCC issue. You're feeding GCC an assembly
source file, and it's the assembler that is complaining about ignored
characters. It could be a problem in the preprocessor, for sure, but
then you'd have to save the preprocessed assembly generated by a
working and broken preprocessor and compare them for the bug report to
be useful.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist Professional serial bug killer
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
2003-01-08 19:04 ` Alexandre Oliva
@ 2003-01-08 22:05 ` Joe Buck
2003-01-09 0:48 ` Rene Rebe
0 siblings, 1 reply; 7+ messages in thread
From: Joe Buck @ 2003-01-08 22:05 UTC (permalink / raw)
To: Alexandre Oliva; +Cc: Rene Rebe, rene, gcc, libc-alpha, rock-linux
On Jan 7, 2003, Rene Rebe <rene.rebe@gmx.net> wrote:
>
> > It is a gcc issue, since a Athlon optimised gcc-3.2.1 is able to
> > compile the same preprocessed file ...
... meaning that you should look at code that is #ifdefed out on the
Athlon. This *is* sysdep.h, after all.
On Wed, Jan 08, 2003 at 03:35:46PM -0200, Alexandre Oliva wrote:
> It's very unlikely to be a GCC issue. You're feeding GCC an assembly
> source file, and it's the assembler that is complaining about ignored
> characters. It could be a problem in the preprocessor, for sure, but
> then you'd have to save the preprocessed assembly generated by a
> working and broken preprocessor and compare them for the bug report to
> be useful.
Grep for __i686 in the input to GCC, then note that __i686 is a macro.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
2003-01-08 22:05 ` Joe Buck
@ 2003-01-09 0:48 ` Rene Rebe
0 siblings, 0 replies; 7+ messages in thread
From: Rene Rebe @ 2003-01-09 0:48 UTC (permalink / raw)
To: jbuck; +Cc: aoliva, rene, gcc, libc-alpha, rock-linux
Hi.
Yes - thanks. We already found out and a quick fix is:
+/* __i686 is used in assembler code below as normal text within a statement.
+ When optimizing for pentium2 or pentium3, gcc defines __i686 as cpp macro
+ which destroys the code below. Glibc is only using the cpp macro __i686__,
+ so we can savely undefine __i686 here. - Clifford Wolf */
+#undef __i686
Clifford, have you already sent the mail to glibc-bugs mailing-list?
On: Wed, 8 Jan 2003 12:28:14 -0800,
Joe Buck <jbuck@synopsys.com> wrote:
>
> On Jan 7, 2003, Rene Rebe <rene.rebe@gmx.net> wrote:
> >
> > > It is a gcc issue, since a Athlon optimised gcc-3.2.1 is able to
> > > compile the same preprocessed file ...
>
> ... meaning that you should look at code that is #ifdefed out on the
> Athlon. This *is* sysdep.h, after all.
>
> On Wed, Jan 08, 2003 at 03:35:46PM -0200, Alexandre Oliva wrote:
> > It's very unlikely to be a GCC issue. You're feeding GCC an assembly
> > source file, and it's the assembler that is complaining about ignored
> > characters. It could be a problem in the preprocessor, for sure, but
> > then you'd have to save the preprocessed assembly generated by a
> > working and broken preprocessor and compare them for the bug report to
> > be useful.
>
> Grep for __i686 in the input to GCC, then note that __i686 is a macro.
>
- René
--
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
2003-01-08 5:27 ` Rene Rebe
2003-01-08 19:04 ` Alexandre Oliva
@ 2003-01-08 23:44 ` Richard Henderson
1 sibling, 0 replies; 7+ messages in thread
From: Richard Henderson @ 2003-01-08 23:44 UTC (permalink / raw)
To: Rene Rebe; +Cc: rene, gcc, libc-alpha, rock-linux
On Wed, Jan 08, 2003 at 02:44:49AM +0100, Rene Rebe wrote:
> It is a gcc issue, since a Athlon optimised gcc-3.2.1 is able to
> compile the same preprocessed file ...
No it isn't.
The problem is that when optimizing for i686, you'll find that
the moral equivalent to
#define i686 1
is in scope, and that one of the sysdep macros is using that
symbol, and *not* expecting it to be defined to anything.
r~
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II
2003-01-08 2:59 compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II Rene Rebe
2003-01-08 5:27 ` Rene Rebe
@ 2003-01-08 18:36 ` Joe Buck
1 sibling, 0 replies; 7+ messages in thread
From: Joe Buck @ 2003-01-08 18:36 UTC (permalink / raw)
To: Rene Rebe; +Cc: gcc, libc-alpha, rock-linux
On Wed, Jan 08, 2003 at 02:00:44AM +0100, Rene Rebe 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)'; \
This might be a glibc bug; see PR 8948. gcc has had an __i686 macro for
years; searching sysdep.h for __i686 might bring enlightenment.
> ) | 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.
--
Q. What's more of a headache than a bug in a compiler.
A. Bugs in six compilers. -- Mark Johnson
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2003-01-08 22:51 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-08 2:59 compiling glibc-2.3.1 with gcc-3.2.1 for pentium >= II Rene Rebe
2003-01-08 5:27 ` Rene Rebe
2003-01-08 19:04 ` Alexandre Oliva
2003-01-08 22:05 ` Joe Buck
2003-01-09 0:48 ` Rene Rebe
2003-01-08 23:44 ` Richard Henderson
2003-01-08 18:36 ` Joe Buck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).