Re: Noch einmal Linux-ABI..

From: Oliver Fromme <olli(at)secnetix.de>
Date: Thu, 19 Apr 2001 19:43:12 +0200 (CEST)

Peter Ross <petros(at)pps.de> wrote:
> Oliver Fromme <olli(at)secnetix.de> schrieb:
> > Gegenfrage: Was für einen _Vorteil_ würdest Du von der von
> > Dir beschriebenen Modifikation erwarten?
>
> Nun ja, Binary-Kompatibilitaet mit Linux im Userland. Wegfall des Spruches
> "dies geht nicht, weil es nur ein Linux-Binary gibt".

Ähm, vielleicht mistverstehe ich Dich jetzt ja völlig, aber
ist es nicht genau das, was die existierende Linux-ABI mo-
mentan leistet?

(Natürlich abgesehen von speziellen Dingen, die nicht ge-
hen, was meistens an obskuren Linux-syscalls liegt, die in
der ABI einfach (noch) nicht implementiert sind, oder weil
dem Linux-procfs unter FreeBSD ein bestimmtes Detail fehlt,
oder ähnliche Kleinigkeiten. Es gibt aber kein grundsätz-
liches Problem.)

> Aber ich weiss z.B. ueberhaupt nicht, was an der libc.so z.B. unter FreeBSD
> alles viel, viel schoener, groesser, schneller ist;-)

Im Vergleich mit welcher anderen?

Wenn Du auf die glibc anspielst: Die libc von FreeBSD un-
terliegt nicht der GNU-Lizenz, was nicht etwa nur ein reli-
giöser Unterschied ist, sondern über Gedeih und Verderb von
FreeBSD entscheidet. Eine GPL-libc ist so ziemlich das
übelste, das einem BSD passieren könnte.

Davon abgesehen gibt es eigentlich keine nennenswerte Funk-
tionalität der glibc, die in der libc von *BSD fehlt. Ich
halte es für wichtiger, Kompatibilität mit XPG4 bzw. SUS
anzustreben.

> Eventuell gaebe es
> aber die Moeglichkeit, nach Bedarf etwas gegen eine andere libc.so zu linken

Das ist durchaus möglich, wenn es einen guten Grund dafür
gibt. Im Grunde genommen ist das bereits üblich: es gibt
(zumindest in -stable) eine eigene libc_r (für Programme,
die POSIX-Threads verwenden wollen). In -current wurden
die beiden wieder zusammengemergt (oder soll das erst noch
gemacht werden? Mangels Spiel-Kiste bin ich bei -current
leider nicht ganz auf dem Laufenden).

Jedenfalls kann man durchaus eine andere libc verwenden und
seine Programme dagegen linken. Man sollte natürlich wis-
sen, was man tut (die libc muß die richtigen syscalls ver-
wenden usw.). Dem Linker kannst Du sagen, daß Du nicht die
Standard-libc nehmen willst.

Es gibt auch durchaus Fälle, wo Programme bzw. Programmier-
sprachen ihren eigenen Ersatz für die libc mitbringen; man
denke da z.B. mal an den Modula3-Port.

> Wobei da wieder das Problem existieren wuerde, was ich hatte: Bibliotheken
> aus Linux und ein Restsystem, was Native-FreeBSD ist, benutzen ja
> unterschiedliche libc.so..

Nunja, sobald Du Objektcode, der für unterschiedliche ABIs
compiliert wurde, miteinander verlinken willst, wird's
wild. Da hatte Dir ja schon jemand (Martin?) ausführlich
drauf geantwortet.

> Und dann gibt es ja auch noch das Spiel mit den unterschiedlichen Lizenzen,
> die aus einer rein technischen Frage eine juristische macht und sie damit
> wohl sowieso rhetorisch werden laesst.

Man kann das in der Praxis leider nicht ignorieren. Wenn
ein Programm eine GPL-Library verwendet, dann unterliegt es
selbst wiederum der GPL (zumindest verlangt das der Wort-
laut der GPL -- meines Wissens wurde dies noch nie ernst-
haft vor Gericht angefechtet und bestätigt oder widerlegt).
Welche Folgen das gerade bei der libc hätte, kannst Du Dir
vorstellen.

Und daß ein GPL-verseuchtes System z.B. für Hersteller von
Embedded-Systemen und sonstige Integratoren (und überhaupt
eigentlich für alle kommerziellen Verwerter) wenig interes-
sant ist, ist klar. Natürlich gibt es immer mal wieder ein
paar Firmen, denen der "Marketing-Gag" mehr wert ist als
das Hüten ihres Know-Hows, aber das dürfte eher die Ausnah-
me sein. Wenn man zum Beispiel daran denkt, wieviel Geld
und Mannjahre NetApp in seine Firmware gesteckt hat, kann
man dieses Verhalten sicherlich nachvollziehen.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 19 Apr 2001 - 19:43:15 CEST

search this site