tech-userlevel archive

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

Re: refine of the GSOC project



/usr/include/sys/signal.h says:

#if (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \
    (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)

If the posix standard says that it shall be defined, then we have got a bug.

On 15.05.2016 03:18, Charles Cui wrote:
> let's call this small program as test.c.
> There is no problem when executing  the command  gcc test.c,
> However, when executing as   gcc test.c -D_POSIX_C_SOURCE=200112L, it
> reports SA_ONSTACK is not declared.
> _POSIX_C_SOURCE is enabled by default in the benchmark suite.
> If you guys think this flag is not necessary for us, then problem is solved.
> 
> 2016-05-13 6:43 GMT-07:00 Christos Zoulas <christos%zoulas.com@localhost>:
> 
>> On May 12,  9:50pm, charles.cui1984%gmail.com@localhost (Charles Cui) wrote:
>> -- Subject: Re: refine of the GSOC project
>>
>> | Well, your saying of _NETBSD_SOURCE is defined by default seems correct,
>> | I compiled a file in the benchmark separately which has the problem of
>> | accessing
>> | macro SA_ONSTACK
>> | <http://nxr.netbsd.org/source/s?refs=SA_ONSTACK&project=src>  which
>> lives
>> | in <signal.h>. There is no problem in executing.
>> | However, I am still not convinced why _NETBSD_SOURCE does not take effect
>> | in the benchmark execution? There is no #undef _NETBSD_SOURCE in the
>> | benchmark,
>> | also defining other macros will not affect _NETBSD_SOURCE (it will make
>> | multiple macros
>> | exist simultaneously). I am not quite clear why the default
>> _NETBSD_SOURCE
>> | does not
>> | work in the benchmark.
>> |
>> | this is from <signal.h>, benchmark using SA_ONSTACK reporting this macro
>> | not found.
>> |
>>
>> Why do you say that? Just compile and run this:
>>
>> #include <signal.h>
>> #include <stdio.h>
>>
>> int
>> main(void)
>> {
>>         printf("%#x\n", SA_ONSTACK);
>>         return 0;
>> }
>>
>> christos
>>
> 



Home | Main Index | Thread Index | Old Index