bug-make
[Top][All Lists]
Advanced

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

Re: Strange errors regarding function '__alloca' on a Debian buster/sid


From: Paul Smith
Subject: Re: Strange errors regarding function '__alloca' on a Debian buster/sid i686 system
Date: Sun, 01 Apr 2018 14:54:23 -0400

On Sun, 2018-04-01 at 13:18 -0400, Dennis Clarke wrote:
> '/usr/local/build/make-4.2.1_linux_4.15.12-genunix_i686.003/glob'
> gcc -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT glob.o -MD -MP -MF 
> .deps/glob.Tpo -c -o glob.o glob.c
> glob.c: In function 'glob':
> glob.c:581:23: warning: implicit declaration of function '__alloca'; did 
> you mean 'alloca'? [-Wimplicit-function-declaration]
>         newp = (char *) __alloca (dirlen + 1);
>                         ^~~~~~~~
>                         alloca
> glob.c:814:11: warning: implicit declaration of function '__stat'; did 
> you mean '__xstat'? [-Wimplicit-function-declaration]
>           : __stat (dirname, &st)) == 0
>             ^~~~~~
>             __xstat

The contents of the glob/ directory are actually taken directly from
glibc (although at this point an extremely old version) not developed
by GNU make.

Examining the source code, I'd say that your system is defining
__GNU_LIBRARY__ but is not creating all the expected aspects of having
__GNU_LIBRARY__ defined; for example:

  #ifndef __GNU_LIBRARY__
  # define __stat stat
     ...
  #endif

the __stat macro is only defined if __GNU_LIBRARY__ is not defined...
because it's expected that if __GNU_LIBRARY__ is defined then we're
compiling glob to be part of glibc.

I would use "make glob/glob.i" then examine the resulting "glob/glob.i"
file to find out who is setting __GNU_LIBRARY__, and why.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]