[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
__attribute__ ((__format__)) in error.h [was: m4-1.4.7 build feedback]
From: |
Eric Blake |
Subject: |
__attribute__ ((__format__)) in error.h [was: m4-1.4.7 build feedback] |
Date: |
Tue, 26 Sep 2006 20:34:56 -0600 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Thunderbird/1.5.0.7 Mnenhy/0.7.4.666 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Nelson H. F. Beebe on 9/26/2006 8:51 AM:
> ========================================================================
> Machinetype: Intel Pentium 4 (2660 MHz); GNU/Linux
> 2.6.16-1.2133_FC5 (Fedora Core release 5 (Bordeaux))
> Remote c89 version: gcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)
> Remote suncc version: cc: Sun C 5.9 Linux_i386 Build27_2 2006/08/02
> Configure environment: CC=/opt/sun/sunstudiomars/bin/sunc89
> CFLAGS=-I/usr/local/include CXX=/opt/sun/sunstudiomars/bin/sunCC
> CXXFLAGS=-I/usr/local/include LDFLAGS="-R/usr/local/lib -L/usr/local/lib"
>
> /opt/sun/sunstudiomars/bin/sunc89 -DHAVE_CONFIG_H -I. -I. -I..
> -I/usr/local/include -c verror.c
> "verror.h", line 36: warning: attribute parameter "printf" is undefined
> "verror.h", line 48: warning: attribute parameter "printf" is undefined
> "/usr/include/stdlib.h", line 712: syntax error before or at: _Pragma
> c89: acomp failed for verror.c
> make[3]: Leaving directory `/local/build/sunc89/m4-1.4.7/lib'
Well, the glibc check for which styles of __attribute__ are supported
seems to be a bit weak; obviously this compiler isn't truly GNU compatible.
>
> This build is with the new free Sun compilers ported from GNU/Linux to
> Solaris. Here is some information from a posting that I made to
> another mailing list on 15-Sep-2006:
>
>>> ...
>>> More details can be found here:
>>>
>>> http://developers.sun.com/prodtech/cc/downloads/express.jsp
>>> http://developers.sun.com/prodtech/cc/downloads/express_readme.html
>>>
>>> PS-1: The only personal information required to download the compilers is
>>> your email address.
>>>
>>> PS-2: A word of warning for installers and systems managers: in
>>> previous releases, the Sun compiler suite on GNU/Linux
>>> unbundled into /opt/sun only.
>>>
>>> In this new release, it also creates two other trees: /db and
>>> /usr/OpenMotif-2.1.31. Neither exists in standard GNU/Linux
>>> installations, so there is no conflict with existing files.
>>>
>>> I had to manually propagate those two extra directories to our
>>> many client machines that otherwise get /opt and /usr/local
>>> mirrored nightly from master servers.
>>>
>>> Here are the disk space requirements:
>>>
>>> % du -skh /opt/sun /db /usr/OpenMotif-2.1.31/
>>> 1001M /opt/sun
>>> 4.3M /db
>>> 20M /usr/OpenMotif-2.1.31/
>>>
>>> PS-3: For some reason, the compiler manual pages are not included in
>>> the GNU/Linux distribution, but they can be found online at
>>>
>>>
>>> http://developers.sun.com/prodtech/cc/documentation/ss11/index.html
>>> ...
>
> /opt/sun/sunstudiomars/bin/sunc89 -DHAVE_CONFIG_H -I. -I. -I..
> -I/usr/local/include -c verror.c
> "verror.h", line 36: warning: attribute parameter "printf" is undefined
> "verror.h", line 48: warning: attribute parameter "printf" is undefined
> "/usr/include/stdlib.h", line 712: syntax error before or at: _Pragma
> c89: acomp failed for verror.c
Still, the fact that it is only complaining about verror.h, and not
error.h, makes me wonder if something in <stdarg.h> is causing us grief.
What happens if you rearrange the order of the 2 #includes in verror.h?
>
> m4-1.4.7 compiles without problems with suncc and sunc99, and passes
> its validation tests.
>
> Nothing needs to be done here, but I thought is useful to report the
> availability of these free compilers, because they have two decades of
> development behind them on SPARC, and have proved highly reliable.
> The IA-32 and AMD64 code generators are relatively new, and the most
> recent release for GNU/Linux has these improvements from the same
> posting cited above:
>
>>> ...
>>> In addition to the support for more platforms, the compilers now
>>> recognize several gcc-specific features, including -m32 and -m64 to
>>> set the memory-addressing model, -xMD, -xMF, and -xMMD to generate
>>> Makefile dependencies, #include_next, and the __attributes__
>>> qualifier. The compilers now have aliases with the prefix "sun":
>>> suncc, sunCC, sunf90, sunf77, sunf95, sunc89, sunc99, and sunas,
>>> making it easy for them to coexist in the standard search path without
>>> shadowing the vendor-provided compilers in /usr/bin.
>>>
>>> These changes should make the Sun compilers work much better in a
>>> GNU/Linux environment, and I have been routinely using them in
>>> software builds in several different compilation environments on
>>> GNU/Linux systems on IA-32 and AMD64 CPUs, using the automated build
>>> tool described in Chapter 8 of our book ``Classic Shell Scripting'':
>>>
>>> http://www.math.utah.edu/~beebe/books/css
>>>
>>> If GNU/Linux compatibility support is installed on FreeBSD, NetBSD,
>>> and OpenBSD systems (see "man compat_linux" on those system for
>>> details), it should be possible to run the Sun compilers on those
>>> operating systems as well. While I plan to make such experiments,
>>> I have yet to do.
>>>
>>> If a similar compatibility layer ever gets added to Apple Mac OS X on
>>> their new Intel-based products, then those systems as well may be able
>>> to run the Sun compilers in the future.
>>> ...
>
- --
Life is short - so eat dessert first!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFGeNQ84KuGfSFAYARAlGsAKCmeiV9trv6TTCy1nHXXd8/Ege0qwCgpGmA
YJAOq5Tr1xfPFh0tNl6Dk+w=
=2+kD
-----END PGP SIGNATURE-----
- Re: vasprintf on DEC, (continued)
- fpending issues on LSB [was: m4-1.4.7 build feedback], Eric Blake, 2006/09/26
- Re: fpending issues on LSB, Paul Eggert, 2006/09/27
- Re: fpending issues on LSB, Nelson H. F. Beebe, 2006/09/27
- Re: fpending issues on LSB, Paul Eggert, 2006/09/27
- Re: fpending issues on LSB, Nelson H. F. Beebe, 2006/09/27
- Re: fpending issues on LSB, Paul Eggert, 2006/09/28
- Re: fpending issues on LSB: [<sys/types.h> does not define size_t], Nelson H. F. Beebe, 2006/09/28
- Re: fpending issues on LSB: [<sys/types.h> does not define size_t], Bruce Korb, 2006/09/28
- Re: fpending issues on LSB: [<sys/types.h> does not define size_t], Paul Eggert, 2006/09/28
__attribute__ ((__format__)) in error.h [was: m4-1.4.7 build feedback],
Eric Blake <=