Subject: Re: errno conflict in kdump
To: None <itojun@iijlab.net>
From: Christos Zoulas <christos@zoulas.com>
List: tech-userlevel
Date: 12/22/2000 09:25:19
On Dec 22, 11:13pm, itojun@iijlab.net (itojun@iijlab.net) wrote:
-- Subject: Re: errno conflict in kdump

| 
| >I don't understand; errno is (*__errno()) so it should compile.
| 
| 	use of errno was fine (sorry for my confusion).
| 	the part i'm still confused is the following.  is it really necessary
| 	for us to supply inlined version?
| 
| >| 	- luckily, the inlined version of sig{add,del}set will never be used,
| >| 	  due to __RENAME().

It gets inlined:

gw4:~ [9:24am] 49>cat sig.c
#include <signal.h>

main()
{
        sigset_t set;
        sigaddset(&set, SIGINT);
        printf("%d\n", set.__bits[0]);
}
gw4:~ [9:24am] 50>cc -O2 -S sig.c
gw4:~ [9:24am] 51>cat sig.s
        .file   "sig.c"
        .version        "01.01"
gcc2_compiled.:
.section        .rodata
.LC0:
        .ascii "%d\12\0"
.text
        .align 4
.globl main
        .type    main,@function
main:
        pushl %ebp
        movl %esp,%ebp
        subl $16,%esp
        movl -16(%ebp),%eax
        orb $2,%al
        movl %eax,-16(%ebp)
        pushl %eax
        pushl $.LC0
        call printf
        leave
        ret
.Lfe1:
        .size    main,.Lfe1-main
gw4:~ [9:24am] 52>

christos