bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gawk] Problem detecting libsigsegv on gawk 4.0.0 on Solaris 9 S


From: Dagobert Michelsen
Subject: Re: [bug-gawk] 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]