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 17:22:18 +0400
From: Vasiliy Kulikov <segoon@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: gcc 4.6.1: glibc .cfi_endproc issue (was: gcc 4.6.1: glibc
 __sincos() issue)

Hi,

Another issue with glibc, this time with i686 only.

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/BUILD/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../sysdeps/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../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/generic/elf -I../sysdeps/generic -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/.  -DGAS_SYNTAX -g -Wa,--noexecstack  -g0  -o /usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crti.o
Putting child 0x09e18cd0 (/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crti.o) PID 13413 on the chain.
Live child 0x09e18cd0 (/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crti.o) PID 13413 
../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
Reaping losing child 0x09e18cd0 PID 13413 
make[3]: *** [/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux/csu/crti.o] Error 1
Removing child 0x09e18cd0 PID 13413 from chain.
make[3]: Leaving directory
`/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/csu'
Reaping losing child 0x08bba2f8 PID 13238 
make[2]: *** [csu/subdir_lib] Error 2
Removing child 0x08bba2f8 PID 13238 from chain.
make[2]: Leaving directory `/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6'
Reaping losing child 0x08e00380 PID 6806 
make[1]: *** [all] Error 2
Removing child 0x08e00380 PID 6806 from chain.
make[1]: Leaving directory `/usr/src/world/rpm-work-1/BUILD/glibc-2.3.6/build-i686-linux'

I tried to put different .cfi_{start,end}proc directives into crti.S -
no result.

crti.S file:

     1      .file   "initfini.c"
     2  #APP
     3      
     4  #include "defs.h"
     5      
     6  /*@...DER_ENDS*/
     7  /*@...it_PROLOG_BEGINS*/
     8      .section .init
     9  #NO_APP
    10      .section    .init,"ax",@...gbits
    11      .p2align 2,,3
    12      .globl  _init
    13      .type   _init, @function
    14  _init:
    15  .LFB26:
    16      .cfi_startproc
    17      pushl   %ebx
    18      .cfi_def_cfa_offset 8
    19      .cfi_offset 3, -8
    20      subl    $8, %esp
    21      .cfi_def_cfa_offset 16
    22      call    .L6
    23      .cfi_def_cfa_offset 20
    24  .L6:
    25      popl    %ebx
    26      .cfi_def_cfa_offset 16
    27      addl    $_GLOBAL_OFFSET_TABLE_+[.-.L6], %ebx
    28      movl    __gmon_start__@...(%ebx), %eax
    29      testl   %eax, %eax
    30      je  .L5
    31      call    __gmon_start__@...
    32  .L5:
    33  #APP
    34  # 96 "../sysdeps/generic/initfini.c" 1
    35      ALIGN
    36  # 0 "" 2
    37  # 97 "../sysdeps/generic/initfini.c" 1
    38      END_INIT
    39  # 0 "" 2
    40  # 99 "../sysdeps/generic/initfini.c" 1
    41      
    42  /*@...it_PROLOG_ENDS*/
    43  /*@...ni_PROLOG_BEGINS*/
    44      .section .fini
    45  #NO_APP
    46      .section    .fini,"ax",@...gbits
    47      .p2align 2,,3
    48      .globl  _fini
    49      .type   _fini, @function
    50  _fini:
    51  .LFB27:
    52      .cfi_startproc
    53      pushl   %ebx
    54      .cfi_def_cfa_offset 8
    55      .cfi_offset 3, -8
    56      subl    $8, %esp
    57      .cfi_def_cfa_offset 16
    58      call    .L8
    59      .cfi_def_cfa_offset 20
    60  .L8:
    61      popl    %ebx
    62      .cfi_def_cfa_offset 16
    63      addl    $_GLOBAL_OFFSET_TABLE_+[.-.L8], %ebx
    64  #APP
    65  # 116 "../sysdeps/generic/initfini.c" 1
    66      ALIGN
    67  # 0 "" 2
    68  # 117 "../sysdeps/generic/initfini.c" 1
    69      END_FINI
    70  # 0 "" 2
    71  # 118 "../sysdeps/generic/initfini.c" 1
    72      
    73  /*@...ni_PROLOG_ENDS*/
    74  /*@...ILER_BEGINS*/
    75      .weak   __gmon_start__
    76      .ident  "GCC: (GNU) 4.6.1"
    77      .section    .note.GNU-stack,"",@...gbits


I found similar issues on gentoo forums, but no solution there.

-- 
Vasiliy

Powered by blists - more mailing lists

Your e-mail address:

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