Debian-Netinstall (31r0a) hängt bei "Debootstrap"

Jan-Benedict Glaw jbglaw at lug-owl.de
Fri Aug 26 21:12:20 CEST 2005


On Fri, 2005-08-26 18:37:33 +0200, Jan 'RedBully' Seiffert <redbully at cc.fh-luh.de> wrote:
> Naja, ohne LOCK-Prefix wird keine Opertion auf x86 atomar.
> XCHG gibt es seit 8086 (ob da schon mit LOCK-Prefix funktion, k.a.). Ist

Nur ohne.

> noch INC und DEC mit LOCK im Angebot, auch seit 8086 (je nach dem, ob
> LOCK schon zu 8086 gehoert, spaetestens aber ab 386, mir ist nicht
> umsonst die Kinnlade runtergefallen, als ich mal nen Compaq-Dual-386
> gesehen habe ;) ).

Alle locks sind da garantiert über einen mehrstufigen Prozeß
implementiert.

> Oder meinst du jetzt XADD und den undokumentierten CMPXCHG im 486, den
> nicht mal alle 486 haben (und der Opcode dann ab 586 ne andere Bedeutung
> hat)? CMPXCHG gibts erst so richtig ab Pentium.

Dazu müßte ich in den Sourcen der libc genauer nachsehen. Steht da IIRC
in einem header file, das sinnvoll benannt ist (find . -type f -name
'*lock*.h' -print) ...

> Naja, was die Frage aufwirft, wovon sie das Einfuegen dieser Befehle
> abhaenging machen...

Von --target=i486-linux beim Bauen der libc

> Was natuerlich wirklich darauf hinauslaufen kann, das da wirklich
> irgendwo ein:
> #ifdef __i486__
> 	asm("lock xadd %0, %1" ....
> 
> schlummert, was dann natuerlich auch bei "-march=486" einkompiliert wird.

So in der Art ist das implementiert, zudem dann auch gerne noch inline.

> Das haette dann aber warsch. schon etwas frueher bei Stefan anschlagen
> muessen :)

Sehr warsch, sehr real aber nicht Stefans Problem. Der Haken ist: durch
Austausch der libc (gegen --target=i386-linux) kannst Du das nicht mal
"beheben", weil der Kram ja inline ist :-) Einmal kaputtes Interface,
immer kaputtes Interface.

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger"  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20050826/cef51ee7/attachment.sig>


More information about the Linux mailing list