gas/
authorJan Beulich <jbeulich@novell.com>
Mon, 18 Jul 2005 06:27:24 +0000 (06:27 +0000)
committerJan Beulich <jbeulich@novell.com>
Mon, 18 Jul 2005 06:27:24 +0000 (06:27 +0000)
commit3956db082e7861afb30f45276fe709beb98b5b03
tree73da0547f1990a481cb8c0e6473f91f3b46bb33a
parentac2aa337d30099606f140bdf01abaf7e22d68327
gas/
2005-07-18  Jan Beulich  <jbeulich@novell.com>

* config/tc-i386.c (reloc): Convert to ISO C90. Change first
parameter to unsigned. Parameter sign now is tristate - zero/
positive mean unsigned/signed, negative means signedness doesn't
matter. Check field size,
signedness, and pcrel-ness are in agreement between relocated field
and relocation type. Adjust diagnostics.
(optimize_imm): And type mask of operand instead of overwriting it.
(lex_got): Convert to ISO C90. Add third parameter. Add new field to
local structure and initialize gotrel accordingly. Pass caller as
mask of types that the operator can match.
(x86_cons_fix_new): Let reloc know that signedness of relocation
doesn't matter.
(x86_pe_cons_fix_new): Likewise.
(x86_cons): Pass additional argument to lex_got.
(i386_immediate): New local variable 'types'. Pass its address as
additional argument to lex_got. Mask out operand types not supported
befoe returning.
(i386_displacement): Likewise. Set bigdisp to all types supported in
64-bit mode, combining the previously split initialization.

gas/testsuite/
2005-07-18  Jan Beulich  <jbeulich@novell.com>

* gas/i386/reloc32.[sdl]: New.
* gas/i386/reloc64.[sdl]: New.
* gas/i386/i386.exp: Run new tests.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/reloc32.d [new file with mode: 0644]
gas/testsuite/gas/i386/reloc32.l [new file with mode: 0644]
gas/testsuite/gas/i386/reloc32.s [new file with mode: 0644]
gas/testsuite/gas/i386/reloc64.d [new file with mode: 0644]
gas/testsuite/gas/i386/reloc64.l [new file with mode: 0644]
gas/testsuite/gas/i386/reloc64.s [new file with mode: 0644]