This is the mail archive of the 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: Bootstrapping hppa64 (phase 2): HP Linker problem

> This will break elf32-hppa, won't it?  
> 	      if (bfd_get_arch_info (abfd)->bits_per_address != 32
> 		  bfd_get_mach (abfd) < 25)
> Or you need to add support for all the 16 bit displacement insns to
> elf32-hppa.c:final_link_relocate.

25 is PA2.0W code.  Gcc generates PA1.1 code as the default for hppa-linux
and optionally will generate PA2.0 code.  Thus, this only can occur if
a user writes his own PA2.0W assembler code.  I have done a complete
bootstrap of gcc using binutils with the patch installed on hppa-linux.

There is no benefit in adding the 16 bit displacement insns to
elf32-hppa.c:final_link_relocate at the moment since the W bit
isn't on in userland.

Currently, the assembler ignores the "W" in .level directives under

        .LEVEL 2.0W

asm.s: Assembler messages:
asm.s:1: Warning: rest of line ignored; first ignored character is `W'

Thus, it doesn't appear possible for mach to ever be 25 under hppa-linux.

J. David Anglin                        
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

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