report of glibc-2.1.90
Kaoru Fukui
k_fukui@highway.ne.jp
Thu Mar 9 12:43:00 GMT 2000
I ried compileing slang on glibc-2.1.90 powerpc linux .
Using compiler is gcc-2.96 in current.
But I have some problems.
intptr_t is in thread_db.h.
Do i need thread_db.h always when using unistd.h?
Anyway, I'mnot use __USE_BSD myself.
I looked at slang's source then i could not find __USE_BSD.
I also saw gcc's spec where i could not find in it.
I don't know still __WAIT_STATUS problem
Kaoru
-----------------------------------------------
make[1]: Entering directory `/WK-image/slang/slang/src'
cd /WK-image/slang/slang/src/objs; gcc -c -O2 -I/newtools/usr/include -D__GNUC
__ -fno-strength-reduce -Dunix -DSLANG /WK-image/slang/slang/src/slsignal.c
<command line>: warning: `__GNUC__' redefined
In file included from /WK-image/slang/slang/src/slsignal.c:18:
/newtools/usr/include/unistd.h:871: parse error before `__delta'
/newtools/usr/include/unistd.h:872: parse error before `__delta'
In file included from /WK-image/slang/slang/src/slsignal.c:25:
/newtools/usr/include/sys/wait.h:113: parse error before `__stat_loc'
/newtools/usr/include/sys/wait.h:114: parse error before `__stat_loc'
In file included from /WK-image/slang/slang/src/slsignal.c:25:
/newtools/usr/include/sys/wait.h:161: parse error before `__stat_loc'
/newtools/usr/include/sys/wait.h:171: parse error before `__WAIT_STATUS'
make[1]: *** [/WK-image/slang/slang/src/objs/slsignal.o] Error 1
make[1]: Leaving directory `/WK-image/slang/slang/src'
make: *** [all] Error 2
[root@bwg3 slang]#
------------------unistd.h linue 871 ----------
extern void *__sbrk (intptr_t __delta) __THROW;
extern void *sbrk (intptr_t __delta) __THROW;
#endif
-------------------wait.h's __WAIT_STATUS ------
# ifdef __USE_BSD
/* Lots of hair to allow traditional BSD use of `union wait'
as well as POSIX.1 use of `int' for the status word. */
# if defined __GNUC__ && !defined __cplusplus
# define __WAIT_INT(status) \
(__extension__ ({ union { __typeof(status) __in; int __i; } __u; \
__u.__in = (status); __u.__i; }))
# else
# define __WAIT_INT(status) (*(int *) &(status))
# endif
/* This is the type of the argument to `wait'. The funky union
causes redeclarations with ether `int *' or `union wait *' to be
allowed without complaint. __WAIT_STATUS_DEFN is the type used in
the actual function definitions. */
# if !defined __GNUC__ || __GNUC__ < 2 || defined __cplusplus
# define __WAIT_STATUS void *
# define __WAIT_STATUS_DEFN void *
# else
/* This works in GCC 2.6.1 and later. */
typedef union
{
union wait *__uptr;
int *__iptr;
} __WAIT_STATUS __attribute__ ((__transparent_union__));
# define __WAIT_STATUS_DEFN int *
# endif
# else /* Don't use BSD. */
# define __WAIT_INT(status) (status)
# define __WAIT_STATUS int *
# define __WAIT_STATUS_DEFN int *
# endif /* Use BSD. */
More information about the Libc-alpha
mailing list