PATCH: Minor ELF32/ia64 cleanup

James E Wilson wilson@specifixinc.com
Tue May 3 21:25:00 GMT 2005


On Tue, 2005-05-03 at 12:21, H. J. Lu wrote:
> 	* elfxx-ia64.c (ARCH_SIZE): New.
> 	(LOG_SECTION_ALIGN): Likewise.
> 	(elfNN_ia64_create_dynamic_sections): Use LOG_SECTION_ALIGN to
> 	align relocation sections.
> 	(get_fptr): Likewise.
> 	(get_reloc_section): Likewise.
> 	(elfNN_ia64_tprel_base): Likewise.
> 	(elfNN_ia64_check_relocs): Support 32bit relocations.
> 	(allocate_global_fptr_got): Likewise.
> 	(allocate_dynrel_entries): Likewise.
> 	(set_got_entry): Likewise.
> 	(set_pltoff_entry): Likewise.
> 	(elfNN_ia64_relocate_section): Likewise.

Thanks.  This does look like a useful improvement.

There seems to be a few oddities here, e.g. a FPTR64 relocation
presented to a 32-bit toolchain will create a FPTR32 dynamic relocation
for it, and similarly a FPTR32 relocation presented to a 64-bit
toolchain will create a FPTR64 dynamic relocation for it.  This is a bit
odd, but I suspect these won't occur in practice.  And this is an
improvement over what we had before, since at least we correctly get
FPTR32 with a 32-bit toolchain which we didn't get before.

Do you have access to ia64-hpux to double check any of this?  ia64-hpux
should presumably be considered the ILP32 reference, and GNU ld should
be behaving the same as the hp linker.  We shouldn't be creating our own
32-bit standard, at least not without an extremely good reason.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com




More information about the Binutils mailing list