Welcome to the archive of Blog articles written by the members of the Solaris Core OS Linkers Group (The Linker Aliens).

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.

Linker Aliens?

Even within the highly specialized world of the core OS, ELF and linking is a sub-specialty within a sub-specialty. In the early Sun days (1980's), someone dubbed the linking group "Linker Aliens", and the label immediately stuck. Even today, that's how we're commonly referred to within the group — an entertaining honorific. When other members of the OS group show unusual interest and acquire linking/ELF skills, we dub them "Honorary Linker Aliens". We can always use more HLAs.

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.

Intended Use and Audience

In the early days of blogging, it was common to read a blog where the author would say something like "my readers may remember", or "as my followers know". We always found that notion funny — most of those blogs only had the author reading them. We know that the audience for articles on linking is not large, probably on the order of a few 10's, or low hundreds of individuals, world wide. And we don't believe that you're following our sporadic posts. Rather, we expect that you landed here via a Google search. We hope that you found what you were looking for.

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.

Relevance To Other Platforms

You might think that Solaris linking blogs are only of interest to users of Solaris, but in fact, we believe they are applicable to a large number of other systems.

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.

Oracle Blogs

Our Oracle Blogs still exist, and the same articles, modulo formatting differences, are also available there.

Static Content, Retro Style

These articles were originally posted as blogs, but really, they are articles to which a handful of comments were made on their initial postings, and which then didn't change other than to update URLs from time to time. The content is essentially static.

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.

The style can be fairly described as "html after css was invented, but before professional designers and javascript took over". It's based on the style the internal linkers website at Sun used during that era, and today, it just makes us smile, which seems like reason enough.

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:

  1. Other articles within this site
  2. Solaris manpages
  3. The Solaris Linker and Libraries Guide
  4. Other external linking related resources (GNU, etc)
  5. The OpenSolaris project
The inter-article links should all work. We periodically update the Solaris documentation links to keep them working as well.

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.

Contact Us

As described above, this site is completely static, with no facility for comments. You can contact Rod or I by constructing an email address in the format <First><dot><Last>@Oracle.com, where <First> is the first name, <dot> is the '.' character, and <Last> is the last name. We may reply privately, or if the comment is of general interest to others, we might add a note to the article in question.

Thank You

Over the years, we've had many of positive interactions and collaborations with the ELF community, and the readers of these articles, and we've benefited from that out of proportion to the effort we invested. Thank You! We look forward to more.

Last Update

Ali Bahrami, July 2017