These articles cover a wide variety of topics regarding object linking, and the ELF (Extensible Linking Format). Many of these articles were originally published at http://blogs.sun.com. When Oracle acquired Sun in 2010, the existing articles moved to http://blogs.oracle.com, and newer articles have appeared since then. More recently, a reorganization has caused the URLs to change again. My (Ali) hope in archiving these articles here is to provide a stable archive where bookmarks and links from other articles can safely reference them.
From Sun's origins in the 1980's to today, there have generally been 2 members of this group, with a total of 4 in total. Today, Rod and I form the group. Rod has been there since the very beginning. I'm a relative newcomer, having joined in late 2005. When working at this low level in the software stack, it's important to take the long view and emphasize compatibility and consistency while still evolving the system. That's made so much easier when there is so much continuity within the group.
The world wide web brought us the concept of "web surfing". Rod mashed that expression with Joe Satriani's Surfing With The Alien to come up with the title for his Blog.
The title of my blog is a nod to Hank Hill from King Of The Hill, who proudly sells "Propane and Propane Accessories". Hank's overly serious attitude about propane seemed to fit a blog dedicated to ELF and linking.
Mike resisted the temptation to be cute, and called his blog what it is.
The Linker Aliens are one of the few software groups in the world that write their own documentation. Rod and I write the manpages for the linking utilities, and we are the authors of the Solaris Linker and Libraries Guide, which fully documents the linkers, the Solaris ELF file format, and ABI. We therefore do not lack avenues for writing. However, the blogs are unique in that they allow us to write informally, and with a biased (or experienced) point of view, about one isolated topic at a time. It gives us a way to tell you not just what the system can do, but what you should use, what you should avoid even though it's there, and how things evolved under the pressures of progress and backward compatibility to have the form they do.The blogs are really just an over the top form of FAQ (Frequently Asked Questions). Many of these articles were written after answering some particular question for the Nth time, and realizing that if you write it carefully once, you can subsequently answer that question with a quick "read this, let me know if it doesn't help". Over the years, it has been a smart investment.
System V Release 4 Unix was a joint project of AT&T Unix System Laboratories and Sun Microsystems. Among Sun's contributions was the dynamic linking technology that had been created for SunOS 4.x. As such, Solaris was the original reference SVR4 Unix, quickly joined by HP-UX, AIX, and other Unix systems. Later, when Linux moved off its original limited a.out format, they adopted the same SVR4 ELF. There are a wide variety of SVR4/ELF influenced platforms outside of Solaris itself, and discussions about ELF apply to all of them, to one degree or another.
As such, these blogs may be of some interest to fans of any of the above systems. Today, the common core ELF standard is referred to as the Generic ABI (gABI). Many of these blogs discuss gABI features, which are equally applicable to all platforms. Some discuss Solaris specific features (Solaris ELF ABI), and while these may not directly apply to your system, they may still be interesting, as a source of ideas to consider, or alternative answers to problems your platform may have solved differently.
Although it would be possible to host this archive as active blogs, we decided not to do that, in the interest of low maintenance, and of not having to stay on top of the constant flurry of security patches and updates required to run blogging platforms properly. We're linker guys, and all we really need is basic html markup. We opted to keep things simple.
One problem that long lived content on the web has to deal with is that of no longer active links. There are different categories of links within these articles:
When an old link to an external site goes stale, we'll do our best to update it if a modern replacement exists. Otherwise, we'll leave it as it, trusting that the reader will understand what it means in context.
OpenSolaris, sadly, is gone. We have removed the link tags, leaving the text behind. That preserves the discussion, while avoiding the annoyance of clicking on dead links. We think its better to preserve those old discussions as is, rather than try to replace them with something else, as they still convey useful information, and as we're proud to have been involved with it.