The %2
and %k2
are register constraints, which are described well here: Simple Constraints
bpushl
and bmovl
are macros defined by uClibc in syscalls.h, and seems to be meant to preserve the previous value in %ebx before clobbering it.
.L__X
is defined in the same file.