This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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.


>> 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.


>> 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?

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.

enjoy,
Andrew


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