This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libffi broken with your latest change
- From: Andreas Jaeger <aj at suse dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 19 May 2003 09:03:20 +0200
- Subject: Re: libffi broken with your latest change
- References: <u84r3r5ujj.fsf@gromit.moeb> <u8znlj4f89.fsf@gromit.moeb>
Andreas Jaeger <aj@suse.de> writes:
> The broken file is:
> $ nm src/x86/sysv.o
> 00000083 t .ffi_call_SYSV_end
> U FFI_TYPE_DOUBLE
> U FFI_TYPE_FLOAT
> U FFI_TYPE_INT
> U FFI_TYPE_LONGDOUBLE
> U FFI_TYPE_SINT64
> 0000007f t epilogue
>
> But wait - could this be a preprocessor bug? Neil, any idea?
> The preprocessor defines:
> #define FFI_TYPE_INT 1
> and then we have:
> cmpl $FFI_TYPE_INT,%ecx
>
> which is not changed.
And further investigation shows that GCC 3.4 20030515 compiles this
file fine even with your change. So, it looks like one of the
preprocessor changes. Sorry Jakub for accusing you wrongly.
Neil, your change to dollars in identifiers seems to have broken this.
If I compile the file with -fno-dollars-in-identifiers, sysv.o looks
fine:
$ nm src/x86/sysv.o
00000071 t .ffi_call_SYSV_end
0000006d t epilogue
00000000 T ffi_call_SYSV
U ffi_prep_args
0000006d t noretval
00000047 t retdouble
0000003b t retfloat
0000002e t retint
0000005f t retint64
00000053 t retlongdouble
0000006d t retstruct
But without the flag, I get the wrong result.
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj