This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libffi broken with your latest change


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]