Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 18 Oct 2011 21:59:51 +0400
From: Vasiliy Kulikov <segoon@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: Re: gcc 4.6.1: glibc .cfi_endproc issue (was: gcc 4.6.1:
 glibc __sincos() issue)

On Tue, Oct 18, 2011 at 19:37 +0200, Pavel Kankovsky wrote:
> On Tue, 18 Oct 2011, Vasiliy Kulikov wrote:
> 
> > ../sysdeps/generic/initfini.c: Assembler messages:
> > ../sysdeps/generic/initfini.c:123: Error: open CFI at the end of file; missing .cfi_endproc directive
> > ../sysdeps/generic/initfini.c:123: Error: open CFI at the end of file; missing .cfi_endproc directive
> 
> As far as I can tell there should be no .cfi... directives in initfini.s
> because the structure of crti.S and crtn.S is messed up too badly for them
> (functions are torn apart and the first half goes to crti.S while the
> other half ends in crtn.S).

Yes, I feel it ;)

> It appears -g0 was sufficient to suppress CFI in pre-4.6 GCC.
> Try adding explicit "-fno-dwarf2-cfi-asm" to $(CFLAGS-initfini.s).

I don't see it helps:

gcc ../sysdeps/generic/initfini.c -c -std=gnu99 -O2 -Wall -Winline
-Wstrict-prototypes -Wwrite-strings -fgnu89-inline -finline-
limit=2000 -fno-asynchronous-unwind-tables -fno-builtin -g -march=i686
-mpreferred-stack-boundary=3 -pipe -mpreferred-stack-bou
ndary=4   -g0 -fPIC -fno-inline-functions -fno-dwarf2-cfi-asm
-fno-unit-at-a-time -march=i386 -mcpu=i386  -I../include -I. -I/u
sr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu -I..
-I../libio -I../nptl -I/usr/src/world/rpm-work-1/BUILD/glib
c-2.3.6/build-i686-linux -I../sysdeps/i386/elf
-I../nptl/sysdeps/unix/sysv/linux/i386/i686
-I../nptl/sysdeps/unix/sysv/linux/i3
86 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread
-I../sysdeps/pthread -I../nptl/sysdeps/unix/sysv -I../nptl/sysde
ps/unix -I../nptl/sysdeps/i386/i686 -I../nptl/sysdeps/i386
-I../libidn/sysdeps/unix -I../sysdeps/unix/sysv/linux/i386 -I../sysd
eps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common
-I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/s
ysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix
-I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sys
deps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486
-I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize
-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64
-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/gene
ric/elf -I../sysdeps/generic  -D_LIBC_REENTRANT -D_LIBC_REENTRANT
-include ../include/libc-symbols.h       -DHAVE_INITFINI -S -
g0 -fPIC -fno-inline-functions -fno-dwarf2-cfi-asm -fno-unit-at-a-time
-march=i386 -mcpu=i386 -finhibit-size-directive \
                -fno-exceptions -o
/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/initfini.s


gcc
/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crti.S
-c  -I../include -I. -I/usr/src/world/rpm-work-1/BU
ILD/glibc-2.3.6/build-i686-linux/csu -I.. -I../libio -I../nptl
-I/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux -
I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686
-I../nptl/sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/
sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread
-I../nptl/sysdeps/unix/sysv -I../nptl/sysdeps/unix -I../nptl/sysdeps/
i386/i686 -I../nptl/sysdeps/i386 -I../libidn/sysdeps/unix
-I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../s
ysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman
-I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix
/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdep
s/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu
-I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/l
dbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/gener
ic  -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include
../include/libc-symbols.h       -DHAVE_INITFINI -DASSEMBLER
-I/usr/src/world/
rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/.
-fno-asynchronous-unwind-tables -fno-dwarf2-cfi-asm -DGAS_SYNTAX -g
-Wa,--n
oexecstack  -g0  -o
/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crti.o


gcc
/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crtn.S
-c  -I../include -I. -I/usr/src/world/rpm-work-1/BU
ILD/glibc-2.3.6/build-i686-linux/csu -I.. -I../libio -I../nptl
-I/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux -
I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686
-I../nptl/sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/
sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread
-I../nptl/sysdeps/unix/sysv -I../nptl/sysdeps/unix -I../nptl/sysdeps/
i386/i686 -I../nptl/sysdeps/i386 -I../libidn/sysdeps/unix
-I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../s
ysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman
-I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix
/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdep
s/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu
-I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/l
dbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/gener
ic  -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include
../include/libc-symbols.h       -DHAVE_INITFINI -DASSEMBLER
-I/usr/src/world/
rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/.
-fno-asynchronous-unwind-tables -fno-dwarf2-cfi-asm -DGAS_SYNTAX -g
-Wa,--n
oexecstack  -g0  -o
/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crtn.o



-- 
Vasiliy

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ