On 10/02/2015 12:31, Alexander Pyhalov via illumos-discuss wrote:
On 02/10/2015 13:21, Joerg Schilling wrote:
Alexander Pyhalov <[email protected]> wrote:

The version of suncpp you seem to have, does it work for you to compile illumos?

Yes.

So the best idea to continue is to find the exact command line that causes the
failure and to look at the cpp output that is created when cpp is fed the files
in question.

By looking at this, it will be possible to find whether the problem is caused
by a miss-behavior of my cpp or by a problem in the input files.


$ cd
/export/home/alp/srcs/oi-userland/components/illumos/illumos-gate/illumos-gate/usr/src/lib/lib
$ dmake

/usr/sbin/dtrace -xnolibs -G -32 -C -xlazyload -s
../port/threads/plockstat.d -o pics/plockstat.o pics/alloc.o
         pics/assfail.o          pics/cancel.o
pics/door_calls.o               pics/tmem.o
pics/pthr_attr.o                pics/pthr_barrier.o
pics/pthr_cond.o                pics/pthr_mutex.o
pics/pthr_rwlock.o              pics/pthread.o          pics/rwlock.o
          pics/scalls.o           pics/sema.o
pics/sigaction.o                pics/spawn.o
pics/synch.o                    pics/tdb_agent.o
pics/thr.o                      pics/thread_interface.o
pics/tls.o                      pics/tsd.o
dtrace: failed to compile script ../port/threads/plockstat.d:
"/usr/include/sys/int_types.h", line 75: typedef redeclared: int8_t
*** Error code 1
dmake: Fatal error: Command failed for target `pics/plockstat.o'
Current working directory
/export/home/alp/srcs/oi-userland/components/illumos/illumos-gate/illumos-gate/usr/src/lib/libc/i386
*** Error code 1
The following command caused the error:
cd i386; pwd; VERSION='illumos-1f2ca51' dmake libc.so.1
dmake: Fatal error: Command failed for target `i386/libc.so.1'

$ /usr/lib/cpp /usr/include/sys/int_types.h |  /usr/bin/gsed  -e '/# /d'
   -e '/^$/d'
#error "ISA not supported"
typedef signed char             int8_t;
typedef short                   int16_t;
typedef int                     int32_t;
typedef long long               int64_t;
typedef unsigned char           uint8_t;
typedef unsigned short          uint16_t;
typedef unsigned int            uint32_t;
typedef unsigned long long      uint64_t;
typedef int64_t                 intmax_t;
typedef uint64_t                uintmax_t;
typedef int                     intptr_t;
typedef unsigned int            uintptr_t;
typedef signed char             int_fast8_t;
typedef int                     int_fast16_t;
typedef int                     int_fast32_t;
typedef long long               int_fast64_t;
typedef unsigned char           uint_fast8_t;
typedef unsigned int            uint_fast16_t;
typedef unsigned int            uint_fast32_t;
typedef unsigned long long      uint_fast64_t;
typedef signed char             int_least8_t;
typedef short                   int_least16_t;
typedef int                     int_least32_t;
typedef long long               int_least64_t;
typedef unsigned char           uint_least8_t;
typedef unsigned short          uint_least16_t;
typedef unsigned int            uint_least32_t;
typedef unsigned long long      uint_least64_t;


$ /usr/lib/cpp.sun /usr/include/sys/int_types.h |  /usr/bin/gsed  -e '/#
/d'  -e '/^$/d'
"/usr/include/sys/isa_defs.h", line 476: undefined control
typedef signed char             int8_t;
typedef short                   int16_t;
typedef int                     int32_t;
typedef long long               int64_t;
typedef unsigned char           uint8_t;
typedef unsigned short          uint16_t;
typedef unsigned int            uint32_t;
typedef unsigned long long      uint64_t;
typedef int64_t                 intmax_t;
typedef uint64_t                uintmax_t;
typedef int                     intptr_t;
typedef unsigned int            uintptr_t;
typedef signed char             int_fast8_t;
typedef int                     int_fast16_t;
typedef int                     int_fast32_t;
typedef long long               int_fast64_t;
typedef unsigned char           uint_fast8_t;
typedef unsigned int            uint_fast16_t;
typedef unsigned int            uint_fast32_t;
typedef unsigned long long      uint_fast64_t;
typedef signed char             int_least8_t;
typedef short                   int_least16_t;
typedef int                     int_least32_t;
typedef long long               int_least64_t;
typedef unsigned char           uint_least8_t;
typedef unsigned short          uint_least16_t;
typedef unsigned int            uint_least32_t;
typedef unsigned long long      uint_least64_t;


Note difference in first line. With Sun cpp first line is printed to
stderr, with Schilly cpp - to output file.

Here are files used in sys/int_types.h :
http://buildzone.oi-build.r61.net/cpp-s/files.tar


This one ?
<http://docs.oracle.com/cd/E19205-01/819-5267/6n7c46dnd/index.html>

"2.5.4 #error
The #error directive no longer continues compilation after issuing a warning. The previous behavior of the directive was to issue a warning and continue compilation. The new behavior, consistent with other compilers, is to issue an error message and immediately halt compilation. The compiler quits and reports the failure."

But why it's reported as "undefined control" ?

--
Dr.Udo Grabowski   Inst.f.Meteorology & Climate Research IMK-ASF-SAT
http://www.imk-asf.kit.edu/english/sat.php
KIT - Karlsruhe Institute of Technology           http://www.kit.edu
Postfach 3640,76021 Karlsruhe,Germany T:(+49)721 608-26026 F:-926026

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature




-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to