This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

[PING: patch gas]: Set correct dwarf2 return column value for x64 windows target


  The xmm15 saved register is still reported by GDB 7.6.90,
I completely forgot to ping this issue...

Pierre Muller
  
> -----Message d'origine-----
> De : binutils-owner@sourceware.org [mailto:binutils-
> owner@sourceware.org] De la part de Pierre Muller
> Envoyé : mercredi 18 décembre 2013 08:37
> À : 'Kai Tietz'
> Cc : 'Binutils'; 'Nick Clifton'
> Objet : RE: [patch gas]: Set correct dwarf2 return column value for x64
> windows target
> 
> 
> 
> > -----Message d'origine-----
> > De : binutils-owner@sourceware.org [mailto:binutils-
> > owner@sourceware.org] De la part de Kai Tietz
> > Envoyé : mercredi 18 décembre 2013 08:19
> > À : Pierre Muller
> > Cc : Binutils; Nick Clifton
> > Objet : Re: [patch gas]: Set correct dwarf2 return column value for
> x64
> > windows target
> >
> > Hmm, the call-clobber-set is still different between x86_64 abi and
> > x64 ms abi.  So this is for sure not the case.  It is a bit long ago
> > to recall all details.  nevertheless save-region for x64 is/was quite
> > different.
> 
>   I agree that the ABI specify other register conventions for Microsoft
> as compared to the other ABI used by all other OSes.
>   Nevertheless, the dwarf numbering of x86_64 registers is unique, no?
> Thus I do not understand how the return_column, which is
> really only the dwarf number associated to the register which
> contains the Return Address information could be different.
>   In any case, xmm15 does not seem to be a reasonable value.
> 
> 
> 
> > You weren't trying by accident to use x86_64 abi to interpret x64
> one?
> 
>   Maybe, but again, I don't understand how that could matter.
> 
> Pierre
> 
> > Kai
> >
> > 2013/12/18 Pierre Muller <pierre.muller@ics-cnrs.unistra.fr>:
> > >   Hi all,
> > >
> > >   sorry to dig out this very old stuff...
> > > but I do not understand that patch which
> > > seem to me to be responsible for the fact that
> > > mingw64 CFI states that the return column is 32 (which corresponds
> to
> > xmm15
> > > register)
> > > This is also seen in GDB where info frame always states
> > > that register xmm15 is saved at the same location than rip...
> > >
> > >   In fact, I was puzzled by this xmm15 saved register and it took
> me
> > some
> > > time
> > > to understand why xmm15 was used.
> > >   I finally tracked it down to the patch below,
> > > and by reverting it in gas/cconfig/tc-i386.c
> > > I was able to get more sensible frame information both
> > > with objdump -W and with GDB.
> > >
> > >   Could it be that the reason of your patch:
> > > " which has a different call-clobber set."
> > >   does not apply anymore and that thus using 16 which is indeed
> > > the dwarf register number of RIP register
> > > is the correct value?
> > >
> > > Pierre Muller...
> > > tired after a long bug hunt...
> > >
> > > PS: I also tried out the cygwin64 target and the patch
> > > seems also wrong there.
> > >
> > >> -----Message d'origine-----
> > >> De : binutils-owner@sourceware.org [mailto:binutils-
> > >> owner@sourceware.org] De la part de Kai Tietz
> > >> Envoyé : vendredi 21 janvier 2011 17:06
> > >> À : Binutils
> > >> Cc : Nick Clifton
> > >> Objet : [patch gas]: Set correct dwarf2 return column value for
> x64
> > >> windows target
> > >>
> > >> Hello,
> > >>
> > >> this patch corrects the value of dwarf2_return_column in tc-i386
> for
> > >> x64 windows, which has a different call-clobber set.
> > >>
> > >> ChangeLog
> > >>
> > >> 2011-01-21  Kai Tietz
> > >>
> > >>         * config/tc-i386.c (md_begin): Set for x64 windows COFF
> > target
> > >>         x86_dwarf2_return_column to 32.
> > >>
> > >> Tested for x86-64-pc-mingw32. Ok for apply?
> > >>
> > >> Regards,
> > >> Kai


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