home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: david@twg.com ("David Herron")
-
- Greetings!
-
- I am compiling up the GNU tools for our Solaris 2.1 system (to get my
- feet wet on there y'see). Most have been going together well enough
- but gdb just won't go. This is because of silliness in the include
- files supplied by Sun.
-
- In bfd/elf.c is #include <sys/procfs.h>. The following inconsistencies are
- there:
-
- sys/procfs.h contains uses of:
-
- sigset_t
- u_long, u_char, u_short and u_int
- siginfo_t
- struct sigaltstack
-
- sys/types.h
-
- defines u_long &c only when !defined(_POSIX_SOURCE)
-
- sys/signal.h
-
- defines sigset_t when defined(_POSIX_SOURCE)
- defines struct sigaltstack when !defined(_POSIX_SOURCE)
-
- sys/siginfo.h
-
- defines siginfo_t when !defined(_POSIX_SOURCE)
-
- So there is no way a file containing sys/procfs.h can be defined.
-
- My workaround is to copy sys/signal.h, sys/siginfo.h and sys/procfs.h
- to /opt/gnu/lib/gcc-lib/.../include/sys and hack away.
-
- This solution is a rude workaround though. It makes some non-POSIX
- symbols be visible when POSIX_SOURCE is defined. HOWEVER.. I don't see
- how you're supposed to get work accomplished when POSIX_SOURCE is not
- defined since that is the only way to get many interesting things only defined!
- And then to have any non-POSIX symbol be not visible when it is defined
- just makes things downright hard!
-
- David Herron <david@twg.com> (work) <david@davids.mmdf.com> (home)
-
- [ Note crossposting, and followup -- mod ]
-
- Volume-Number: Volume 31, Number 29
-
-