This is the mail archive of the binutils@sources.redhat.com 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: bfd questions.



>> For the bi-arch s390/s390x support I'd like to change the two s390
>> bfds in some aspects. 1) The printable_name for 31 bit is "s390:390"
>> and for 64 bit it is "s390:esame". Both pretty meaningless,
>> "s390:31" and "s390:64" would be better.
>
>
> or maybe "s390:31-bit" and s390:64-bit" ?
>
>
> Take care this will affect downstream GDB:
>
> (gdb) set architecture
> Requires an argument. Valid arguments are s390:390, s390:esame, auto.
This should get inherited from bfd/cpu-s390.c. Old scripts that use
set architecture will break though.

>>> 2) change the bfd_mach_s390_esa preprocessor define to
>>> bfd_mach_s390_31 and bfd_mach_s390_esame to bfd_mach_s390_64.
>>
>>
>> Seems reasonable.
>
>
>Again.  This one will need a GDB tweak.
This is true, we'd need a tiny patch for the three occurences of
bfd_mach_s390_{esa,esame}. If I apply my planned changes I will
send you a patch.

>> 3) Add the switches -m31 and -m64 to switch to 31 bit or 64 bit.
>
>
> Err, add the switches to where ?  GAS ?
>
>
>> 4) Add the switches -Aesa and -Aesame to switch between the ESA and
>> ESAME architectures. And last but not least 5) add ESAME relocations
>> to the 31 bit bfd.
>>
>> The idea of 4) and 5) is to enable the use of ESAME instructions on
>> a 31 bit system that is running on a machine that supports ESAME.
>
>
> Presumably then you would generate a warning if -m64 and -Aesa were
> used together, or is there an advantage to having 64 bit binaries that
> do not support the ESAME instructions ?


> Can I assume these only affect the ISA and not the ABI?
The ABI is not affected.

> I also guess that the disassembler will always disassemble ESAME
> instructions (31 or 64 bit modes) so there is no reason to add
> disassembler-options.
The disassembler will by default disassemble ESAME for 64 bit and
ESA instructions for 31 bit. You can force objdump with -ms390:64
to disassemble 31 bit objects with esame instructions.

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com



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