[Patch 0/5] Support ld for ia64 VMS

Tristan Gingold gingold@adacore.com
Mon Mar 19 10:58:00 GMT 2012


Hi,

this is a set of patches to support ld for ia64/VMS.  We have that in our tree for a couple of years, so I think it'd time to submit it.

This target is somewhat special because although it uses the ELF format, it has its own shared libraries: basically vector based (not unlike SVR3), relocatable, no symbol preemption, no .dynsym…  There are also some minor weirdness (such as several entry points).

I tried to add VMS linker support in elfnn-ia64.c, but this turns out to be unreadable and difficult to maintain, as there are many details that differ between VMS and ELF.  So finally I decided to create a new file, elf64-ia64-vms.c.  Most of the common code is already in elfxx-ia64.c, there are still much code that look the same between elfnn-ia64.c and elf64-ia64-vms.c, but differ in the details.

It wasn't an easy decision, but in the final I think this is the most maintainable way:  there is almost no risk to break ia64 ELF when ia64 VMS is modified (and vice-versa).

The remaining of the patches is business as usual.  The patches will be sent separately.

Comments are welcome.

Tristan Gingold.



More information about the Binutils mailing list