Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] bugs in test grimoire

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Seth Alan Woolley <seth AT positivism.org>
  • To: "Sergey A. Lipnevich" <sergey AT sourcemage.org>
  • Cc: sm-discuss AT lists.ibiblio.org
  • Subject: Re: [SM-Discuss] bugs in test grimoire
  • Date: Fri, 9 Sep 2005 09:05:48 -0700

sourcemage.org is timing out for me right now so I haven't read your
blog yet, however, what I mean by ABI is:

/usr/lib/libssl.so.0.9.7

is different from

/usr/lib/libssl.so.0.9.8

and that applications that link to libssl.so.0.9.7 internally, which
includes all libssl-linking applications will not find the correct
binary when libssl.so.0.9.7 is upgraded to libssl.so.0.9.8.

Whether or not symbols and arguments change to the end user is an "API"
issue. A related ABI issue would be if the actual symbol and argument
interfaces in the binaries changed but that a simple recompile was
enough to make up for them (that usually means the changes were internal
to the headers and/or macro definitions provided by the headers, but I
digress).

That's kind of what I'm thinking of in regard to ABI/API. I've seen it
used in slightly different contexts for example, a processor ABI would be
related to the command set, registers, etc.

I think the wiki article gives a pretty good description:

http://en.wikipedia.org/wiki/Application_binary_interface

"an ABI allows compiled object code to function without changes on any
system using a compatible ABI."

If openssl's ABI were not changing, the upgrade would not have broken
much that could be fixed with a simple recompile. The API can change at
the same time, however, "an API defines the interface between source
code and libraries, so that the same source code will compile on any
system supporting that API."

As far as I am aware, we simply needed to recompile openssl for almost
all applications. Maybe it changed for some unusual ways, though, and
that's what _test_ grimoire is for :). That means the "API" was similar
enough for most cases, if not completely identical.

The "cleanse --fix" repairs ABI issues. It doesn't understand
differences in API. For that we need to apply patches to the software
or get a version that works with it. The triggers fix I and Andrew
added recently will fix "ABI" issues more proactively, however even it
only understands ABI, and not API issues.

So if there are API issues, then we indeed have two issues, API and ABI
issues to resolve. What I mean by this email is to say that, yes,
indeed, "OpenSSL 0.9.8 does have a different ABI", at least in how I
think of an ABI.

I do now look forward to actually reading your blog though! :)

Seth

On Fri, Sep 09, 2005 at 10:35:52AM -0400, Sergey A. Lipnevich wrote:
> Let me quote my blog here:
> http://www.sourcemage.org/node/1537
> ...and say that by "breaking" I meant "not compiling" and that I'm not
> sure that the "OpenSSL 0.9.8 has different ABI" is correct. I don't
> think the ABI has changed. My reasoning of why 0.9.8 is so nasty are
> explained in the blog.
>
> Sergey.
> _______________________________________________
> SM-Discuss mailing list
> SM-Discuss AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/sm-discuss
>

--
Seth Alan Woolley [seth at positivism.org], SPAM/UCE is unauthorized
Quality Assurance Team Leader & Security Team: Source Mage GNU/linux
Linux so advanced, it may as well be magic http://www.sourcemage.org
Secretary Pacific Green Party of Oregon http://www.pacificgreens.org
Key id FDCEE733 = 5302 B414 64C4 6112 3454 E082 99F0 69DC FDCE E733

Attachment: pgpgEx1Mm7PHp.pgp
Description: PGP signature




Archive powered by MHonArc 2.6.24.

Top of Page