The following Standards bug applies to the Solaris 9 9/05 release.
The dflcn.h header file displays symbols in /usr/include/sys/auxv.h that are not permitted in UNIX(R) 98 or UNIX 03. If you compile UNIX 98 or UNIX 03 applications that include this header file, the compiler generates syntax errors. Consquently, the compilation is not completed.
You can avoid the errors by using compilers other than c89 or c99 compiler utilities. However, the compiled applications will not be compliant with UNIX 98 or UNIX 03. Furthermore, even if you use the cc compiler utility, compilation also fails if the -D_XOPEN_SOURCE flag is defined.
For example, if you compile an application that uses the -D_XOPEN_SOURCE=600 compiler flag, the following error message is displayed:
"/usr/include/sys/auxv.h", line 45: syntax error before or at: "a_type unprotected" "/usr/include/sys/auxv.h", line 45: warning: syntax requires ";" after last struct/union member "/usr/include/sys/auxv.h", line 54: zero-sized struct/union "/usr/include/sys/auxv.h", line 54: warning: syntax error: empty declaration "/usr/include/sys/auxv.h", line 55: warning: old-style declaration or incorrect type for: auxv_t |
Workaround: Apply either of the following patches:
For SPARC based systems: Patch ID 112963-23
For x86 based systems: Patch ID 113986-19