This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Bootstrapping hppa64 (phase 2): HP Linker problem
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: amodra at bigpond dot net dot au (Alan Modra)
- Cc: sje at cup dot hp dot com, law at redhat dot com, binutils at sources dot redhat dot com
- Date: Mon, 15 Jul 2002 12:48:29 -0400 (EDT)
- Subject: 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
hppa-linux:
.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.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)