[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