Re: Mehrere GCC-Versionen

Steffen Dettmer <[email protected]>
Newsgroups gmane.linux.suse.general.german,gmane.linux.suse.programming
Message-ID <[email protected]>
* David Haller wrote on Sat, Dec 31, 2005 at 04:43 +0100:
> Ich finde es jedenfalls nervig, dass dadurch durch die Hintertuer ein
> '-static' Binary doch nicht "static" ist... Die Einschraenkungen bei
> der Namensaufloesung dadurch, dass "nur" libnss_{foo,bar}.a gelinkt
> werden wuerde ich in Kauf nehmen (bzw. "compile-time-configurable"
> machen oder so).

libnss_{foo,bar}.a gibt es erst gar nicht, nur .so's und in
libc_nonshared.a ist es auch nicht drin. Ja, Du brauchst tatsächlich ein
funktionierenden dynaloader, um eine Textdatei wie /etc/hosts zu lesen.

> Oder warum man nicht auf einen "Plugin"-Mechanismus zurueckgreift...

Ist libdl ja eigentlich. Je nach dem, wie gethostbyname und Freunde
implementiert sind, kommt dann halt NULL zurück - fragt sich nur, ob die
Applikationen (Yast, ...) damit umgehen können.

Jedenfalls kann man Applikationen schreiben, die damit klarkommen, wir
hatten mal sowas, so nach dem Motto "ist Spezial-so nicht da, probieren
wird Standard-so, ist auch das nicht da, gibt's schöne Logeinträge etc.
Das ist IMHO OK: Die fehlenden Funktionalität fehlt logischerweise, aber
auch nicht mehr.

Aber ich hab den ganzen Kram eh nicht verstanden (sprich: aus dem Bauch
herraus finde ich es einfach falsch) - meiner Meinung nach sollte ein
Entwickler entscheiden, ob seine Applikation dynamisch oder statisch
gelinkt werden soll, und nicht eine libc_nonshared.a von libnss_*.so
abhängen.

Ich hab in einer Mail an Philipp schon gealbert, dass man jetzt noch ne
Java JVM einbauen sollte, damit der custom-Resolver auch in Java
geschrieben werden kann - weil z.B. mein HTTP/SOAP Application Server
einen Namesdienst anwendet oder ein multithreaded CORBA Service oder so
- beides hängt natürlich vorher vom Stage-1 resolving ab - man muss ja
erstmal den Dienst selbst connecten (und natürlich über DNS Namen). Dann
dauert eine Auflösung zwar schnell mal > 1000 ms, aber kann dafür viel
bunter werden, z.B. mit X11 "Progress-Bar-GUI", wenn DISPLAY gesetzt
ist... SCNR.

> (da gibt's ja Beispiele, z.B. perl, xmms u.a., wo die plugins (dyn-libs)
> eben per dlopen geladen werden -- oder beisst sich dlopen generell mit
> statisch gelinkt?)...

Nein, es funktioniert ja. Ich hab mal ein Testprogramm gemacht, das
gethostbyname aufruft und statisch gelinkt ist. Im strace sieht man,
dass dann die .so geöffnet wird. Hab jetzt nicht getestet, was passiert,
wenn das schiefgeht (also ob da dann einfach NULL zurückkommt, oder ob
da vielleicht sogar jemand abort() aufruft oder SIGSEGV verursacht). Wie
Du schon geschrieben hast: "durch die Hintertuer", man merkt es erst,
wenn man ein Problem mit der libc hat /und/ zur Laufzeit ein
gethostbyname oder so braucht.

Vermutlich gibt's irgendeinen Grund dafür, google hat mir auf die
Schnelle nix erzählt, jedenfalls gefällt es mir nicht, dass ich selbst
bei der libc symbolprobleme jetzt erst zur Laufzeit merke und nicht mehr
zur Compilezeit.

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.