Surfing with the Linker Aliens: Solaris Linking and ELF Blogs
Solaris Linking & ELF Blogs



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

  Ali Bahrami: Solaris Linkers and Linking Accessories

  Rod Evans: Surfing With a Linker Alien

  Michael Walker's Weblog

  All Articles (Combined Index)


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.

  Ali Bahrami
  Rod Evans


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:


  Other articles within this site
  Solaris manpages
  The Solaris Linker and Libraries Guide
  Other external linking related resources (GNU, etc)
  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 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



