[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-libsigsegv] Problem detecting libsigsegv on gawk 4.0.0 on Solar
From: |
Dagobert Michelsen |
Subject: |
Re: [bug-libsigsegv] Problem detecting libsigsegv on gawk 4.0.0 on Solaris 9 Sparc w/Sun Studio 12 |
Date: |
Thu, 7 Jul 2011 23:03:55 +0200 |
Hi Bruno,
Am 07.07.2011 um 19:40 schrieb Bruno Haible:
> Dagobert Michelsen wrote:
>> Maybe the test in awk.h is too strict and should be something like this?
>
> Do you mean that 'cc' on Solaris cannot be put into a mode where it
> 1) Accepts C99 syntax (declarations after statements and the like),
> 2) Defines __STDC__ to 1, and
> 3) Has a working <ucontext.h> file?
>
> No combination of command-line options can achieve this? That would seem
> to be a pretty serious deficiency for the vendor compiler on a POSIX like
> platform.
The problem exists only on Solaris 9 i386 as there is no uint64_t needed in
/usr/include/ia32/sys/reg.h
which is included from <ucontext.h>. At some places the usage of uint64_t is
shielded like this:
> #if defined(_LP64) || (__STDC__ - 0 == 0 && !defined(_NO_LONGLONG))
> typedef uint64_t creg64_t;
> #else
> typedef upad64_t creg64_t;
> #endif
Whereas at some places it isn't:
> union {
> uint16_t fpr_16[5]; /* 80-bits of x87 state */
> uint64_t fpr_mmx; /* 64-bit mmx register */
> uint32_t __fpr_pad[4]; /* (pad out to 128-bits) */
> } fx_st[8];
The compilation seems to work cleanly on Solaris 9/10 Sparc and Solaris 10 i386
with
-Xc -D_XPG4_2
as the headers have been modified in Solaris 10.
I am inclined to think the header file for Solaris 9 i386 is buggy as gawk
compiles
cleanly with
-Xc -D_XPG4_2 -Duint64_t=upad64_t
Best regards
-- Dago