I got an error while compiling gdb-5.0.
4.17 works well.
inftarg.c: In function `child_has_exited':
inftarg.c:715: request for member `w_S' in something not a structure or union
inftarg.c:715: request for member `w_T' in something not a structure or union
inftarg.c:721: request for member `w_S' in something not a structure or union
inftarg.c:721: request for member `w_T' in something not a structure or union
gmake[1]: *** [inftarg.o] Error 1
gmake[1]: Leaving directory `/export2/src/gdb-5.0/gdb'
My mips-sony-bsd system is 4.3BSD based and has 'union wait'. So,
fully POSIXised(?) code is always difficult to compile.
For example, the error above is here.
--->8------>8------>8------>8------>8------>8---
int
child_has_exited (pid, wait_status, exit_status)
int pid;
int wait_status;
int *exit_status;
{
if (WIFEXITED (wait_status))
[snip]
--->8------>8------>8------>8------>8------>8---
Here, it is better to be like this.
--->8------>8------>8------>8------>8------>8---
#if ... /* I don't know how to detect. */
typedef WAIT_T union wait;
#else
typedef WAIT_T int;
#endif
int
child_has_exited (pid, wait_status, exit_status)
int pid;
WAIT_T wait_status;
int *exit_status;
{
if (WIFEXITED ((WAIT_T)wait_status))
[snip]
--->8------>8------>8------>8------>8------>8---
if GDB will support non-POSIX OSes.
I'm afraid there are other problems...
--
NAKAJI Hiroyuki