alpha/sigsuspend.S failure due to cfi mismatches
Mike Frysinger
vapier@gentoo.org
Sat May 19 09:07:00 GMT 2007
i first noticed this with newer versions of tools and glibc-2.5 ... poking
through cvs, i saw alpha/sysdep-cancel.h was updated to address cfi issues,
but even with that patch, there's still some trouble.
testing with:
- binutils-2.17
- gcc-4.1.2
- glibc-2.6
i hit this build error:
alphaev68-unknown-linux-gnu-gcc ../sysdeps/unix/sysv/linux/alpha/sigsuspend.S -c -I../include -I/var/tmp/portage/sys-libs/glibc-2.6/work/build-default-alphaev68-unknown-linux-gnu-nptl/signal -I/var/tmp/portage/sys-libs/glibc-2.6/work/build-default-alphaev68-unknown-linux-gnu-nptl -I../nptl/sysdeps/alpha/elf -I../sysdeps/alpha/elf -I../sysdeps/unix/sysv/linux/alpha/fpu -I../sysdeps/alpha/fpu -I../nptl/sysdeps/unix/sysv/linux/alpha -I../sysdeps/unix/sysv/linux/alpha -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/ieee754/ldbl-64-128 -I../sysdeps/ieee754/ldbl-opt -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/alpha -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/alpha -I../sysdeps/alpha -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/alpha/soft-fp -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/alphaev68-unknown-linux-gnu/4.1.2/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -Wa,--noexecstack -o /var/tmp/portage/sys-libs/glibc-2.6/work/build-default-alphaev68-unknown-linux-gnu-nptl/signal/sigsuspend.o -MD -MP -MF /var/tmp/portage/sys-libs/glibc-2.6/work/build-default-alphaev68-unknown-linux-gnu-nptl/signal/sigsuspend.o.dt -MT /var/tmp/portage/sys-libs/glibc-2.6/work/build-default-alphaev68-unknown-linux-gnu-nptl/signal/sigsuspend.o
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Assembler messages:
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:41: Error: previous CFI entry
not closed (missing .cfi_endproc)
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:43: Error: .cfi_endproc without
corresponding .cfi_startproc
make: ***
[/var/tmp/portage/sys-libs/glibc-2.6/work/build-default-alphaev68-unknown-linux-gnu-nptl/signal/sigsuspend.o]
Error 1
looking at the .s output, you can see:
.cfi_startproc
__sigsuspend:
...
$pseudo_ret:
.subsection 2
.cfi_startproc
...
which is pretty much how the alpha sysdep-cancel.h header looks like for the
PSEUDO() macro ...
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 827 bytes
Desc: This is a digitally signed message part.
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20070519/e00a72b3/attachment.sig>
More information about the Libc-alpha
mailing list