[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: glibc-2.0.96 build problems



In message <[🔎] r27lyw5fzp.fsf@happy.cygnus.com>, Ulrich Drepper writes:
>"Nils Lohner" <lohner@debian.org> writes:
>
>> I had to change this in the makefile because for some reason make -C 
wasn't
>> working... it simply segfaulted make.  Maybe you can ad a ./configure 
check
>> to see if make -C works, and if not, use this as an alternative?
>
>Which version of make?  And please, investigate the segfault.
>
 I'll look into it... send a report to you or to bugs-make@gnu.org?
[root@xia01 timezone]# make --version
GNU Make version 3.76.1, by Richard Stallman and Roland McGrath.

  It seems that when there's nothing to build in the subdir it's OK, but 
when it tries to do something in it it segfaults... I'll try to trace it.



>I really don't want to add checks for every broken version on each
>platform.  Only general problems with programs will be tested.  But
>this problem is either SPARC limited or even limited to your copy.
>
  Understandable..

>> gcc ../sysdeps/generic/segfault.c -c -O -Wall -Winline 
-Wstrict-prototypes
>> -Wwrite-strings -g   -fPIC    -I../include -I.  -I.. -I../libio  
>> -I../sysdeps/sparc/sparc32/elf -I../crypt/sysdeps/unix 
>> -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthrea
d
>> -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix 
>> -I../linuxthreads/sysdeps/sparc/sparc32 -I../linuxthreads/sysdeps/pthread/
no
>-
>> cmpxchg -I../linuxthreads/sysdeps/sparc -I../sysdeps/unix/sysv/linux/sparc
/s
>p
>> arc32 -I../sysdeps/unix/sysv/linux/sparc -I../sysdeps/unix/sysv/linux 
>> -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman 
>> -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/sparc 
>> -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/sparc/sparc32/fpu 
>> -I../sysdeps/sparc/sparc32 -I../sysdeps/wordsize-32 
-I../sysdeps/sparc/fpu
>> -I../sysdeps/sparc -I../sysdeps/ieee754 -I../sysdeps/libm-ieee754 
>> -I../sysdeps/generic/elf -I../sysdeps/generic   -D_LIBC_REENTRANT 
-include
>> ../include/libc-symbols.h  -DPIC   -o segfault.os
>> ../sysdeps/generic/segfault.c: In function `install_handler':
>> ../sysdeps/generic/segfault.c:179: `SA_ONSTACK' undeclared (first use in 
>> this function)
>> ../sysdeps/generic/segfault.c:179: (Each undeclared identifier is 
reported
>> only once
>> ../sysdeps/generic/segfault.c:179: for each function it appears in.)
>
>Well, this is a problem with the alpha, mips, and sparc specific
>sigaction.h files.  I don't know why this wasn't reported.  You have
>to add appropriate definitions to
>
>	sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
>

  The definitions are there...
sysdeps/unix/sysv/linux/sparc/bits/sigaction.h:
#ifdef __USE_MISC
# define SA_STACK     0x00000001 /* Use signal stack by using `sa_restorer'. 
*/
# define SA_RESTART   0x00000002 /* Restart syscall on signal return.  */
# define SA_INTERRUPT 0x00000010 /* Historical no-op.  */
# define SA_NOMASK    0x00000020 /* Don't automatically block the signal when
                                    its handler is being executed.  */
# define SA_ONESHOT   0x00000004 /* Reset to SIG_DFL on entry to handler.  */

/* Some aliases for the SA_ constants.  */
# define SA_NODEFER   SA_NOMASK
# define SA_RESETHAND SA_ONESHOT
#endif


sysdeps/generic/bits/sigaction.h:
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK     0x0001  /* Take signal on signal stack.  */
# define SA_RESTART     0x0002  /* Restart syscall on signal return.  */
#endif

the problem is that sysdeps/generic/segfault.c uses SA_ONSTACK instead of 
SA_STACK, and that is defined in sysdeps/generic/bits/sigaction.h  Either 
it's trying to compile segfault.c from the wrong directory, or something's 
messed up with which definition should be used in it depending on which 
header files are inclded.


Since there's only one segfault.c, the error must be in the header files 
somewhere.

[lohner@xia01 glibc-2.0.96]$ find . -name segfault.c -print
./sysdeps/generic/segfault.c
[lohner@xia01 glibc-2.0.96]$ 


Let me know if I can provide more info.

Nils.

>
>
>-- 
>---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
>Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
>Cygnus Solutions `--' drepper at cygnus.com   `------------------------
>
>
>-- 
>To UNSUBSCRIBE, email to debian-ultralinux-request@lists.debian.org
>with a subject of "unsubscribe". Trouble? Contact 
listmaster@lists.debian.org
>
>



Reply to: