glibc 2.3.5 and gcc-4.0 4.0.3-6

Aurelien Jarno aurelien at aurel32.net
Thu Jan 12 17:23:15 UTC 2006


On Thu, Jan 12, 2006 at 06:08:48PM +0100, Aurelien Jarno wrote:
> Aurelien Jarno a écrit :
> >Petr Salinger a écrit :
> >
> >>>Actually the problem is that all statically linked binaries segfault at
> >>>runtime. During the build process, it is the case of elf/sln, but other
> >>>binaries like ldconfig are also affected.
> >>
> >>
> >>
> >>I would bet on this:
> >>
> >>
> >>>  * Configure --with-tune=i686 on ix86 architectures (on Ubuntu with
> >>>    -mtune=pentium4). Remove the cpu-default-* patches..
> >>
> >>
> >>
> >>The defaults are a little bit strange:
> >>
> >>gcc-3.3    (3.3.6-12+kbsd)    -march=i486 -mtune=i686
> >>gcc-3.4 (3.4.5-1)          -march=i386 -mtune=i486
> >>gcc-4.0    (4.0.2-4+kbsd)    -march=i386 -mtune=i486
> >>gcc-4.0 (4.0.2-6)    -march=i386 -mtune=i686        
> >>
> >>IMHO, the right one is
> >>            -march=i486 -mtune=i686
> >>
> >Well that's strange yes.
> >
> >Meanwhile, I made some progress on this bug (even if I have no time...). 
> >It seems that the problem comes from brk.o, as using the one generated 
> >with 4.0.2-6 in the tree built with 4.0.2-5 reproduces the problem. The 
> >reverse is also true, ie copying brk.o built with 4.0.2-5 to the tree 
> >built with 4.0.2-6 fixes the problem.
> >
> You're right, the problem comes from the optimisation. Building brk.c 
> with -mtune=i486 fixes the problem, both for -march=i386 and 
> -march=i486. Now the question is about the C code being correct or not...

For those interested, please find attached the source code (brk.c), the
code built with -mtune=i486 (brk.s), and with -mtune=i686 (brk.s.bad).

I don't have enough x86 assembly knowledge to find the problem...

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32 at debian.org         | aurelien at aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net
-------------- next part --------------
	.file	"brk.c"
	.section	.debug_abbrev,"", at progbits
.Ldebug_abbrev0:
	.section	.debug_info,"", at progbits
.Ldebug_info0:
	.section	.debug_line,"", at progbits
.Ldebug_line0:
	.text
.Ltext0:
.globl __curbrk
	.data
	.align 4
	.type	__curbrk, @object
	.size	__curbrk, 4
__curbrk:
	.long	_end
	.text
.globl __brk
	.type	__brk, @function
__brk:
.LFB46:
	.file 1 "../sysdeps/unix/bsd/bsd4.4/kfreebsd/brk.c"
	.loc 1 38 0
.LVL0:
	pushl	%ebp
.LCFI0:
	movl	%esp, %ebp
.LCFI1:
	pushl	%ebx
.LCFI2:
	subl	$4, %esp
.LCFI3:
	movl	8(%ebp), %ebx
	.loc 1 39 0
	cmpl	$_end, %ebx
	jae	.L2
.LVL1:
	movl	$0, %eax
	jmp	.L4
.L2:
	.loc 1 42 0
	subl	$8, %esp
	pushl	%ebx
	pushl	$17
.LCFI4:
	call	syscall
	addl	$16, %esp
	cmpl	$-1, %eax
	jne	.L5
	.loc 1 44 0
	movl	__libc_errno at INDNTPOFF, %eax
	movl	$12, %gs:(%eax)
	movl	$-1, %eax
	jmp	.L4
.L5:
	.loc 1 48 0
	movl	%ebx, __curbrk
	movl	$0, %eax
.L4:
	.loc 1 50 0
	movl	-4(%ebp), %ebx
.LVL2:
	leave
	ret
.LFE46:
	.size	__brk, .-__brk
#APP
	.section .gnu.warning.brk
	.previous
#NO_APP
	.section	.gnu.warning.brk
#APP
	#,"a", at progbits
	.align 32
	.type	__evoke_link_warning_brk, @object
	.size	__evoke_link_warning_brk, 53
__evoke_link_warning_brk:
	.string	"warning: brk is not implemented and will always fail"
	.weak	brk
	.set	brk,__brk
	.section	.debug_frame,"", at progbits
.Lframe0:
	.long	.LECIE0-.LSCIE0
.LSCIE0:
	.long	0xffffffff
	.byte	0x1
	.string	""
	.uleb128 0x1
	.sleb128 -4
	.byte	0x8
	.byte	0xc
	.uleb128 0x4
	.uleb128 0x4
	.byte	0x88
	.uleb128 0x1
	.align 4
.LECIE0:
.LSFDE0:
	.long	.LEFDE0-.LASFDE0
.LASFDE0:
	.long	.Lframe0
	.long	.LFB46
	.long	.LFE46-.LFB46
	.byte	0x4
	.long	.LCFI0-.LFB46
	.byte	0xe
	.uleb128 0x8
	.byte	0x85
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI1-.LCFI0
	.byte	0xd
	.uleb128 0x5
	.byte	0x4
	.long	.LCFI3-.LCFI1
	.byte	0x83
	.uleb128 0x3
	.byte	0x4
	.long	.LCFI4-.LCFI3
	.byte	0x2e
	.uleb128 0x10
	.align 4
.LEFDE0:
	.file 2 "../linuxthreads_db/thread_dbP.h"
	.file 3 "../linuxthreads_db/thread_db.h"
	.file 4 "/home/aurel32/tmp/glibc/glibc-2.3.5/debian/include/sys/procfs.h"
	.file 5 "../include/errno.h"
	.text
.Letext0:
	.section	.debug_loc,"", at progbits
.Ldebug_loc0:
.LLST0:
	.long	.LVL0-.Ltext0
	.long	.LVL1-.Ltext0
	.value	0x2
	.byte	0x91
	.sleb128 8
	.long	.LVL1-.Ltext0
	.long	.LVL2-.Ltext0
	.value	0x1
	.byte	0x53
	.long	.LVL2-.Ltext0
	.long	.LFE46-.Ltext0
	.value	0x2
	.byte	0x91
	.sleb128 8
	.long	0x0
	.long	0x0
	.section	.debug_info
	.long	0x204
	.value	0x2
	.long	.Ldebug_abbrev0
	.byte	0x4
	.uleb128 0x1
	.long	.Ldebug_line0
	.long	.Letext0
	.long	.Ltext0
	.long	.LASF32
	.byte	0x1
	.long	.LASF33
	.long	.LASF34
	.uleb128 0x2
	.string	"int"
	.byte	0x4
	.byte	0x5
	.uleb128 0x3
	.long	.LASF0
	.byte	0x4
	.byte	0x7
	.uleb128 0x3
	.long	.LASF1
	.byte	0x4
	.byte	0x5
	.uleb128 0x3
	.long	.LASF2
	.byte	0x8
	.byte	0x5
	.uleb128 0x3
	.long	.LASF0
	.byte	0x4
	.byte	0x7
	.uleb128 0x3
	.long	.LASF3
	.byte	0x2
	.byte	0x7
	.uleb128 0x3
	.long	.LASF4
	.byte	0x1
	.byte	0x6
	.uleb128 0x3
	.long	.LASF5
	.byte	0x1
	.byte	0x8
	.uleb128 0x3
	.long	.LASF6
	.byte	0x4
	.byte	0x7
	.uleb128 0x3
	.long	.LASF7
	.byte	0x1
	.byte	0x6
	.uleb128 0x3
	.long	.LASF8
	.byte	0x2
	.byte	0x5
	.uleb128 0x3
	.long	.LASF9
	.byte	0x8
	.byte	0x7
	.uleb128 0x4
	.byte	0x4
	.uleb128 0x5
	.long	.LASF10
	.byte	0x4
	.byte	0x53
	.long	0x79
	.uleb128 0x5
	.long	.LASF11
	.byte	0x3
	.byte	0x5a
	.long	0x91
	.uleb128 0x6
	.long	0x129
	.long	.LASF24
	.byte	0x28
	.byte	0x3
	.byte	0x5a
	.uleb128 0x7
	.string	"ph"
	.byte	0x2
	.byte	0x2e
	.long	0x135
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x8
	.long	.LASF12
	.byte	0x2
	.byte	0x33
	.long	0x141
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.uleb128 0x8
	.long	.LASF13
	.byte	0x2
	.byte	0x36
	.long	0x14d
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.uleb128 0x8
	.long	.LASF14
	.byte	0x2
	.byte	0x39
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0xc
	.uleb128 0x8
	.long	.LASF15
	.byte	0x2
	.byte	0x3c
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0x10
	.uleb128 0x8
	.long	.LASF16
	.byte	0x2
	.byte	0x3f
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0x14
	.uleb128 0x8
	.long	.LASF17
	.byte	0x2
	.byte	0x42
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0x18
	.uleb128 0x8
	.long	.LASF18
	.byte	0x2
	.byte	0x45
	.long	0x7b
	.byte	0x2
	.byte	0x23
	.uleb128 0x1c
	.uleb128 0x8
	.long	.LASF19
	.byte	0x2
	.byte	0x48
	.long	0x7b
	.byte	0x2
	.byte	0x23
	.uleb128 0x20
	.uleb128 0x8
	.long	.LASF20
	.byte	0x2
	.byte	0x4b
	.long	0x7b
	.byte	0x2
	.byte	0x23
	.uleb128 0x24
	.byte	0x0
	.uleb128 0x9
	.byte	0x4
	.long	0x86
	.uleb128 0xa
	.long	.LASF21
	.byte	0x1
	.uleb128 0x9
	.byte	0x4
	.long	0x12f
	.uleb128 0xa
	.long	.LASF22
	.byte	0x1
	.uleb128 0x9
	.byte	0x4
	.long	0x13b
	.uleb128 0xa
	.long	.LASF23
	.byte	0x1
	.uleb128 0x9
	.byte	0x4
	.long	0x147
	.uleb128 0x6
	.long	0x17b
	.long	.LASF25
	.byte	0x8
	.byte	0x2
	.byte	0x51
	.uleb128 0x7
	.string	"ta"
	.byte	0x2
	.byte	0x52
	.long	0x129
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x8
	.long	.LASF26
	.byte	0x2
	.byte	0x53
	.long	0x17b
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.byte	0x0
	.uleb128 0x9
	.byte	0x4
	.long	0x153
	.uleb128 0xb
	.long	0x1ac
	.byte	0x1
	.long	.LASF35
	.byte	0x1
	.byte	0x26
	.byte	0x1
	.long	0x25
	.long	.LFB46
	.long	.LFE46
	.byte	0x1
	.byte	0x55
	.uleb128 0xc
	.long	.LASF36
	.byte	0x1
	.byte	0x25
	.long	0x79
	.long	.LLST0
	.byte	0x0
	.uleb128 0xd
	.long	0x1bc
	.long	0x4f
	.uleb128 0xe
	.long	0x41
	.byte	0x34
	.byte	0x0
	.uleb128 0xf
	.long	.LASF27
	.byte	0x1
	.byte	0x33
	.long	0x1cd
	.byte	0x5
	.byte	0x3
	.long	__evoke_link_warning_brk
	.uleb128 0x10
	.long	0x1ac
	.uleb128 0x11
	.long	.LASF28
	.byte	0x2
	.byte	0x57
	.long	0x17b
	.byte	0x1
	.byte	0x1
	.uleb128 0x11
	.long	.LASF29
	.byte	0x5
	.byte	0x1f
	.long	0x25
	.byte	0x1
	.byte	0x1
	.uleb128 0x12
	.long	.LASF30
	.byte	0x1
	.byte	0x1c
	.byte	0x1
	.byte	0x1
	.uleb128 0x13
	.long	.LASF31
	.byte	0x1
	.byte	0x1f
	.long	0x79
	.byte	0x1
	.byte	0x5
	.byte	0x3
	.long	__curbrk
	.byte	0x0
	.section	.debug_abbrev
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x10
	.uleb128 0x6
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1b
	.uleb128 0xe
	.byte	0x0
	.byte	0x0
	.uleb128 0x2
	.uleb128 0x24
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x24
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x4
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x5
	.uleb128 0x16
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x6
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x7
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x8
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x9
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xa
	.uleb128 0x13
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3c
	.uleb128 0xc
	.byte	0x0
	.byte	0x0
	.uleb128 0xb
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xc
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0xd
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xe
	.uleb128 0x21
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0xf
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x10
	.uleb128 0x26
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x11
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3c
	.uleb128 0xc
	.byte	0x0
	.byte	0x0
	.uleb128 0x12
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3c
	.uleb128 0xc
	.byte	0x0
	.byte	0x0
	.uleb128 0x13
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.byte	0x0
	.section	.debug_pubnames,"", at progbits
	.long	0x25
	.value	0x2
	.long	.Ldebug_info0
	.long	0x208
	.long	0x181
	.string	"__brk"
	.long	0x1f5
	.string	"__curbrk"
	.long	0x0
	.section	.debug_aranges,"", at progbits
	.long	0x1c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x4
	.byte	0x0
	.value	0x0
	.value	0x0
	.long	.Ltext0
	.long	.Letext0-.Ltext0
	.long	0x0
	.long	0x0
	.section	.debug_str,"MS", at progbits,1
.LASF12:
	.string	"handles"
.LASF29:
	.string	"__libc_errno"
.LASF20:
	.string	"pthread_handles_num"
.LASF1:
	.string	"long int"
.LASF3:
	.string	"short unsigned int"
.LASF17:
	.string	"sizeof_descr"
.LASF7:
	.string	"signed char"
.LASF4:
	.string	"char"
.LASF19:
	.string	"pthread_last_event"
.LASF2:
	.string	"long long int"
.LASF21:
	.string	"ps_prochandle"
.LASF15:
	.string	"pthread_keys_max"
.LASF24:
	.string	"td_thragent"
.LASF25:
	.string	"agent_list"
.LASF13:
	.string	"keys"
.LASF33:
	.string	"../sysdeps/unix/bsd/bsd4.4/kfreebsd/brk.c"
.LASF28:
	.string	"__td_agent_list"
.LASF36:
	.string	"addr"
.LASF0:
	.string	"unsigned int"
.LASF32:
	.string	"GNU C 4.0.3 20060104 (prerelease) (Debian 4.0.2-6)"
.LASF5:
	.string	"unsigned char"
.LASF26:
	.string	"next"
.LASF27:
	.string	"__evoke_link_warning_brk"
.LASF18:
	.string	"pthread_threads_eventsp"
.LASF22:
	.string	"pthread_handle_struct"
.LASF9:
	.string	"long long unsigned int"
.LASF6:
	.string	"long unsigned int"
.LASF16:
	.string	"pthread_key_2ndlevel_size"
.LASF10:
	.string	"psaddr_t"
.LASF11:
	.string	"td_thragent_t"
.LASF30:
	.string	"_end"
.LASF8:
	.string	"short int"
.LASF23:
	.string	"pthread_key_struct"
.LASF31:
	.string	"__curbrk"
.LASF14:
	.string	"pthread_threads_max"
.LASF35:
	.string	"__brk"
.LASF34:
	.string	"/home/aurel32/tmp/glibc/glibc-2.3.5/build-tree/glibc-2.3.5/elf"
	.ident	"GCC: (GNU) 4.0.3 20060104 (prerelease) (Debian 4.0.2-6)"
	.section	.note.GNU-stack,"", at progbits
-------------- next part --------------
	.file	"brk.c"
	.section	.debug_abbrev,"", at progbits
.Ldebug_abbrev0:
	.section	.debug_info,"", at progbits
.Ldebug_info0:
	.section	.debug_line,"", at progbits
.Ldebug_line0:
	.text
.Ltext0:
.globl __curbrk
	.data
	.align 4
	.type	__curbrk, @object
	.size	__curbrk, 4
__curbrk:
	.long	_end
	.text
.globl __brk
	.type	__brk, @function
__brk:
.LFB46:
	.file 1 "../sysdeps/unix/bsd/bsd4.4/kfreebsd/brk.c"
	.loc 1 38 0
.LVL0:
	pushl	%ebp
.LCFI0:
	movl	%esp, %ebp
.LCFI1:
	pushl	%ebx
.LCFI2:
	subl	$20, %esp
.LCFI3:
	movl	8(%ebp), %ebx
	.loc 1 39 0
	movl	$0, %eax
	cmpl	$_end, %ebx
	jb	.L4
.LVL1:
	.loc 1 42 0
	movl	%ebx, 4(%esp)
	movl	$17, (%esp)
	call	syscall
	cmpl	$-1, %eax
	jne	.L5
	.loc 1 44 0
	movl	__libc_errno at INDNTPOFF, %eax
	movl	$12, %gs:(%eax)
	movl	$-1, %eax
	jmp	.L4
.L5:
	.loc 1 48 0
	movl	%ebx, __curbrk
	movl	$0, %eax
.L4:
	.loc 1 50 0
	addl	$20, %esp
	popl	%ebx
.LVL2:
	popl	%ebp
	ret
.LFE46:
	.size	__brk, .-__brk
#APP
	.section .gnu.warning.brk
	.previous
#NO_APP
	.section	.gnu.warning.brk
#APP
	#,"a", at progbits
	.align 32
	.type	__evoke_link_warning_brk, @object
	.size	__evoke_link_warning_brk, 53
__evoke_link_warning_brk:
	.string	"warning: brk is not implemented and will always fail"
	.weak	brk
	.set	brk,__brk
	.section	.debug_frame,"", at progbits
.Lframe0:
	.long	.LECIE0-.LSCIE0
.LSCIE0:
	.long	0xffffffff
	.byte	0x1
	.string	""
	.uleb128 0x1
	.sleb128 -4
	.byte	0x8
	.byte	0xc
	.uleb128 0x4
	.uleb128 0x4
	.byte	0x88
	.uleb128 0x1
	.align 4
.LECIE0:
.LSFDE0:
	.long	.LEFDE0-.LASFDE0
.LASFDE0:
	.long	.Lframe0
	.long	.LFB46
	.long	.LFE46-.LFB46
	.byte	0x4
	.long	.LCFI0-.LFB46
	.byte	0xe
	.uleb128 0x8
	.byte	0x85
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI1-.LCFI0
	.byte	0xd
	.uleb128 0x5
	.byte	0x4
	.long	.LCFI3-.LCFI1
	.byte	0x83
	.uleb128 0x3
	.align 4
.LEFDE0:
	.file 2 "../linuxthreads_db/thread_dbP.h"
	.file 3 "../linuxthreads_db/thread_db.h"
	.file 4 "/home/aurel32/tmp/glibc/glibc-2.3.5/debian/include/sys/procfs.h"
	.file 5 "../include/errno.h"
	.text
.Letext0:
	.section	.debug_loc,"", at progbits
.Ldebug_loc0:
.LLST0:
	.long	.LVL0-.Ltext0
	.long	.LVL1-.Ltext0
	.value	0x2
	.byte	0x91
	.sleb128 8
	.long	.LVL1-.Ltext0
	.long	.LVL2-.Ltext0
	.value	0x1
	.byte	0x53
	.long	.LVL2-.Ltext0
	.long	.LFE46-.Ltext0
	.value	0x2
	.byte	0x91
	.sleb128 8
	.long	0x0
	.long	0x0
	.section	.debug_info
	.long	0x204
	.value	0x2
	.long	.Ldebug_abbrev0
	.byte	0x4
	.uleb128 0x1
	.long	.Ldebug_line0
	.long	.Letext0
	.long	.Ltext0
	.long	.LASF32
	.byte	0x1
	.long	.LASF33
	.long	.LASF34
	.uleb128 0x2
	.string	"int"
	.byte	0x4
	.byte	0x5
	.uleb128 0x3
	.long	.LASF0
	.byte	0x4
	.byte	0x7
	.uleb128 0x3
	.long	.LASF1
	.byte	0x4
	.byte	0x5
	.uleb128 0x3
	.long	.LASF2
	.byte	0x8
	.byte	0x5
	.uleb128 0x3
	.long	.LASF0
	.byte	0x4
	.byte	0x7
	.uleb128 0x3
	.long	.LASF3
	.byte	0x2
	.byte	0x7
	.uleb128 0x3
	.long	.LASF4
	.byte	0x1
	.byte	0x6
	.uleb128 0x3
	.long	.LASF5
	.byte	0x1
	.byte	0x8
	.uleb128 0x3
	.long	.LASF6
	.byte	0x4
	.byte	0x7
	.uleb128 0x3
	.long	.LASF7
	.byte	0x1
	.byte	0x6
	.uleb128 0x3
	.long	.LASF8
	.byte	0x2
	.byte	0x5
	.uleb128 0x3
	.long	.LASF9
	.byte	0x8
	.byte	0x7
	.uleb128 0x4
	.byte	0x4
	.uleb128 0x5
	.long	.LASF10
	.byte	0x4
	.byte	0x53
	.long	0x79
	.uleb128 0x5
	.long	.LASF11
	.byte	0x3
	.byte	0x5a
	.long	0x91
	.uleb128 0x6
	.long	0x129
	.long	.LASF24
	.byte	0x28
	.byte	0x3
	.byte	0x5a
	.uleb128 0x7
	.string	"ph"
	.byte	0x2
	.byte	0x2e
	.long	0x135
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x8
	.long	.LASF12
	.byte	0x2
	.byte	0x33
	.long	0x141
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.uleb128 0x8
	.long	.LASF13
	.byte	0x2
	.byte	0x36
	.long	0x14d
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.uleb128 0x8
	.long	.LASF14
	.byte	0x2
	.byte	0x39
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0xc
	.uleb128 0x8
	.long	.LASF15
	.byte	0x2
	.byte	0x3c
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0x10
	.uleb128 0x8
	.long	.LASF16
	.byte	0x2
	.byte	0x3f
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0x14
	.uleb128 0x8
	.long	.LASF17
	.byte	0x2
	.byte	0x42
	.long	0x25
	.byte	0x2
	.byte	0x23
	.uleb128 0x18
	.uleb128 0x8
	.long	.LASF18
	.byte	0x2
	.byte	0x45
	.long	0x7b
	.byte	0x2
	.byte	0x23
	.uleb128 0x1c
	.uleb128 0x8
	.long	.LASF19
	.byte	0x2
	.byte	0x48
	.long	0x7b
	.byte	0x2
	.byte	0x23
	.uleb128 0x20
	.uleb128 0x8
	.long	.LASF20
	.byte	0x2
	.byte	0x4b
	.long	0x7b
	.byte	0x2
	.byte	0x23
	.uleb128 0x24
	.byte	0x0
	.uleb128 0x9
	.byte	0x4
	.long	0x86
	.uleb128 0xa
	.long	.LASF21
	.byte	0x1
	.uleb128 0x9
	.byte	0x4
	.long	0x12f
	.uleb128 0xa
	.long	.LASF22
	.byte	0x1
	.uleb128 0x9
	.byte	0x4
	.long	0x13b
	.uleb128 0xa
	.long	.LASF23
	.byte	0x1
	.uleb128 0x9
	.byte	0x4
	.long	0x147
	.uleb128 0x6
	.long	0x17b
	.long	.LASF25
	.byte	0x8
	.byte	0x2
	.byte	0x51
	.uleb128 0x7
	.string	"ta"
	.byte	0x2
	.byte	0x52
	.long	0x129
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x8
	.long	.LASF26
	.byte	0x2
	.byte	0x53
	.long	0x17b
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.byte	0x0
	.uleb128 0x9
	.byte	0x4
	.long	0x153
	.uleb128 0xb
	.long	0x1ac
	.byte	0x1
	.long	.LASF35
	.byte	0x1
	.byte	0x26
	.byte	0x1
	.long	0x25
	.long	.LFB46
	.long	.LFE46
	.byte	0x1
	.byte	0x55
	.uleb128 0xc
	.long	.LASF36
	.byte	0x1
	.byte	0x25
	.long	0x79
	.long	.LLST0
	.byte	0x0
	.uleb128 0xd
	.long	0x1bc
	.long	0x4f
	.uleb128 0xe
	.long	0x41
	.byte	0x34
	.byte	0x0
	.uleb128 0xf
	.long	.LASF27
	.byte	0x1
	.byte	0x33
	.long	0x1cd
	.byte	0x5
	.byte	0x3
	.long	__evoke_link_warning_brk
	.uleb128 0x10
	.long	0x1ac
	.uleb128 0x11
	.long	.LASF28
	.byte	0x2
	.byte	0x57
	.long	0x17b
	.byte	0x1
	.byte	0x1
	.uleb128 0x11
	.long	.LASF29
	.byte	0x5
	.byte	0x1f
	.long	0x25
	.byte	0x1
	.byte	0x1
	.uleb128 0x12
	.long	.LASF30
	.byte	0x1
	.byte	0x1c
	.byte	0x1
	.byte	0x1
	.uleb128 0x13
	.long	.LASF31
	.byte	0x1
	.byte	0x1f
	.long	0x79
	.byte	0x1
	.byte	0x5
	.byte	0x3
	.long	__curbrk
	.byte	0x0
	.section	.debug_abbrev
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x10
	.uleb128 0x6
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1b
	.uleb128 0xe
	.byte	0x0
	.byte	0x0
	.uleb128 0x2
	.uleb128 0x24
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x24
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x4
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x5
	.uleb128 0x16
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x6
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x7
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x8
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x9
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xa
	.uleb128 0x13
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3c
	.uleb128 0xc
	.byte	0x0
	.byte	0x0
	.uleb128 0xb
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xc
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0xd
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xe
	.uleb128 0x21
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0xf
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x10
	.uleb128 0x26
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x11
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3c
	.uleb128 0xc
	.byte	0x0
	.byte	0x0
	.uleb128 0x12
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3c
	.uleb128 0xc
	.byte	0x0
	.byte	0x0
	.uleb128 0x13
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.byte	0x0
	.section	.debug_pubnames,"", at progbits
	.long	0x25
	.value	0x2
	.long	.Ldebug_info0
	.long	0x208
	.long	0x181
	.string	"__brk"
	.long	0x1f5
	.string	"__curbrk"
	.long	0x0
	.section	.debug_aranges,"", at progbits
	.long	0x1c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x4
	.byte	0x0
	.value	0x0
	.value	0x0
	.long	.Ltext0
	.long	.Letext0-.Ltext0
	.long	0x0
	.long	0x0
	.section	.debug_str,"MS", at progbits,1
.LASF12:
	.string	"handles"
.LASF29:
	.string	"__libc_errno"
.LASF20:
	.string	"pthread_handles_num"
.LASF1:
	.string	"long int"
.LASF3:
	.string	"short unsigned int"
.LASF17:
	.string	"sizeof_descr"
.LASF7:
	.string	"signed char"
.LASF4:
	.string	"char"
.LASF19:
	.string	"pthread_last_event"
.LASF2:
	.string	"long long int"
.LASF21:
	.string	"ps_prochandle"
.LASF15:
	.string	"pthread_keys_max"
.LASF24:
	.string	"td_thragent"
.LASF25:
	.string	"agent_list"
.LASF13:
	.string	"keys"
.LASF33:
	.string	"../sysdeps/unix/bsd/bsd4.4/kfreebsd/brk.c"
.LASF28:
	.string	"__td_agent_list"
.LASF36:
	.string	"addr"
.LASF0:
	.string	"unsigned int"
.LASF32:
	.string	"GNU C 4.0.3 20060104 (prerelease) (Debian 4.0.2-6)"
.LASF5:
	.string	"unsigned char"
.LASF26:
	.string	"next"
.LASF27:
	.string	"__evoke_link_warning_brk"
.LASF18:
	.string	"pthread_threads_eventsp"
.LASF22:
	.string	"pthread_handle_struct"
.LASF9:
	.string	"long long unsigned int"
.LASF6:
	.string	"long unsigned int"
.LASF16:
	.string	"pthread_key_2ndlevel_size"
.LASF10:
	.string	"psaddr_t"
.LASF11:
	.string	"td_thragent_t"
.LASF30:
	.string	"_end"
.LASF8:
	.string	"short int"
.LASF23:
	.string	"pthread_key_struct"
.LASF31:
	.string	"__curbrk"
.LASF14:
	.string	"pthread_threads_max"
.LASF35:
	.string	"__brk"
.LASF34:
	.string	"/home/aurel32/tmp/glibc/glibc-2.3.5/build-tree/glibc-2.3.5/elf"
	.ident	"GCC: (GNU) 4.0.3 20060104 (prerelease) (Debian 4.0.2-6)"
	.section	.note.GNU-stack,"", at progbits
-------------- next part --------------
A non-text attachment was scrubbed...
Name: brk.c
Type: text/x-csrc
Size: 1455 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/glibc-bsd-devel/attachments/20060112/4c18a40a/brk-0001.c


More information about the Glibc-bsd-devel mailing list