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]

Re: [PATCH] enhance register parsing in .cfi_* handling


On Mon, Feb 11, 2008 at 04:23:11PM +0000, Jan Beulich wrote:
> >>> "H.J. Lu" <hjl.tools@gmail.com> 11.02.08 16:52 >>>
> >On Mon, Feb 11, 2008 at 03:32:08PM +0000, Jan Beulich wrote:
> >> >>> "H.J. Lu" <hjl.tools@gmail.com> 11.02.08 16:11 >>>
> >> >On Mon, Feb 11, 2008 at 10:51:34AM +0000, Jan Beulich wrote:
> >> >> +rax, Reg64|BaseIndex|Acc|Qword, 0, 0, , 0
> >> >
> >> >Can you use
> >> >
> >> >rax, Reg64|BaseIndex|Acc|Qword, 0, 0, -1, 0
> >> >
> >> >and remove special handling of "" in i386-gen.c?
> >> 
> >> I'd rather not, as this way it's much simple to change the 'invalid'
> >> indicator if need be. Also, the special case handling isn't only about
> >
> >Different fields may have different 'invalid' indicators. I prefer we
> >define them in i386-reg.tbl directly.
> 
> I think it'd be smarter to let i386-gen deal with any such requirements,
> and keep i386-reg.tbl as terse as possible. Reading through long series
> of pointless values is certainly more cumbersome that recognizing
> blank fields.

I think a macro like, InvalidDWReg, is much eaiser to understand and
modify than blank fields.

> 
> >> blank fields, but also about missing trailing ones - if you want that
> >> removed, too, it'd mean adding much more useless stuff to registers
> >> not validly subject of .cfi_* directives.
> >
> >I would pefer to add those 'invalid' indicators to registers which
> >aren't used in .cfi_* directives. It will make i386-reg.tbl easier
> >to understand/compare.
> 
> As said above - I don't think so: What value does it have to add two
> extra -1 fields to e.g. each of the byte and word registers? These
> tables (the opcodes table is certainly worse than the register one)
> are hardly readable already (mainly because each line basically is
> a long list of things without inherent ordering, so at trying to keep
> these as short as possible helps at least a little).

I'd like to keep i386-gen.c as simple as possible. If I had used
missing trailing ones instead of RegRip/RegEip, it would be harder
for you to add new fields for DWarf reg num.

Please use something like InvalidDWReg and check it instead of
-1 in assembler.

Thanks.

H.J.


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