[issue1346] [PATCH] Fix some minor inline assembly for llvm/clang compatibility

Matthew Dillon dillon at apollo.backplane.com
Fri Apr 24 10:24:16 PDT 2009


:New submission from Alex Hornung <ahornung at gmail.com>:
:
:1) remove uses of __label__, which is not supported by llvm/clang and is no=
:t
:needed for either gcc or llvm/clang.
:
:2) remove uses of register type var __asm("ecx") and other variable
:register-binding as it is not supported by llvm/clang and is superfluous. B=
:y
:specifying that the variable content should go into ecx in the clobber list=
:, the
:current use is not needed.
:
:3) add an ugly hack, conditionalized on __clang__, to allow correct
:compilation of atomic_intr_cond_try(). This hack should be removed once
:http://llvm.org/bugs/show_bug.cgi?id=3D3812 is solved. It is conditionalize=
:d on
:__clang__ define because it is not a valid syntax for gcc.
:
:Patch is at:
:http://gitweb.dragonflybsd.org/~alexh/dragonfly.git/commit/6e6c8028465bf25a=
:6e9f5685b57a3fee79f77382

    Committed!  Actually, cherry-picked from your leaf repo.  That
    sure makes it convenient!

					-Matt





More information about the Bugs mailing list