Adopting the Parallel DWARF linker in dsymutil

Posted by JDevlieghere 3 days ago

Counter27Comment7OpenOriginal

Comments

Comment by eqvinox 14 hours ago

It'd make quite a few things so much easier if Apple just switched to ELF. At the cost of being a giant break :/

Comment by pjmlp 13 hours ago

There are other UNIXes that aren't ELF, e.g. AIX.

Comment by DannyBee 13 hours ago

Sure, but COFF and its variations are much less practically common in Unixes (ie ignoring PE)

In any case, it’s highly doubtful being different from ELF is offering real value to anyone at this point, it’s just nobody wants to spend time, money, etc to migrate when incremental change to their own formats gets most of what they want.

Though it is probably accurate to say apple probably has it the worst here. Mach-O tooling is almost certainly the least available out of ELF, COFF, and Mach-O.

Comment by skissane 12 hours ago

I honestly think Mach-O is more elegant than ELF, with its structure of load commands.

Of course, ELF still wins by being more mainstream, and not being de facto under the control of a single vendor.

Comment by eqvinox 11 hours ago

> I honestly think Mach-O is more elegant than ELF, with its structure of load commands.

Can you elaborate on that, especially contrasting with ELF's PT_LOAD program headers?

Comment by skissane 1 hour ago

If Apple wants to add some brand new feature to Mach-O, they generally just define a new load command. There's generally just one way to do it. The main downside, is (in practice) only Apple can do it. [0]

Whereas, with ELF – if you want to add a new feature, do you add it as a new program table entry type (PT_), or a new note type (NT_), or a separate note section (SHT_NOTE)?

[0] Well, historically OSF/1 also used Mach-O, although my understanding is it was an incompatible implementation of the same basic ideas. The main vendor to ship an OSF/1-based Unix was DEC (later Compaq then HP Tru64 Unix), although HP also (briefly) shipped their own OSF/1-based Unix (prior to buying DEC/Compaq), as did IBM (the short-lived AIX/ESA for IBM mainframes, which despite its name, had very little in common with the AIX everyone knows), and also various supercomputer vendors (Intel Paragon and ASCI Red, Hitachi, Kendall Square Research). But all those systems are defunct, so Apple's Mach-O is the only member of the "Mach-O family" still in production use.

Comment by eqvinox 11 hours ago

That's a true statement, but what's the argument?

Comment by quantumscan 2 hours ago

[dead]