libunwind-devel
[Top][All Lists]
Advanced

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

[Libunwind-devel] Trying to build with PGI compiler


From: Carl Ponder
Subject: [Libunwind-devel] Trying to build with PGI compiler
Date: Sun, 5 Nov 2017 09:11:58 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

I'm trying to build libunwind 1.2.1 with the PGI compiler, and am seeing this failure in the config phase:

checking link.h usability... no
checking link.h presence... yes
configure: WARNING: link.h: present but cannot be compiled
configure: WARNING: link.h:     check for missing prerequisite headers?
configure: WARNING: link.h: see the Autoconf documentation
configure: WARNING: link.h:     section "Present But Cannot Be Compiled"
configure: WARNING: link.h: proceeding with the compiler's result
configure: WARNING:     ## ----------------------------------------- ##
configure: WARNING:     ## Report this to address@hidden ##
configure: WARNING:     ## ----------------------------------------- ##
checking for link.h... no
checking sys/link.h usability... no
checking sys/link.h presence... no
checking for sys/link.h... no

The config.log file shows

configure:16113: checking link.h usability
configure:16113: /cm/extra/apps/PGI.linux86-64/17.10/linux86-64/17.10/bin/pgc++ -c -noswitcherror -m64 -tp=px -I/usr/include conftest.c >&5
"/usr/include/bits/link.h", line 97: error: identifier "__int128_t" is
          undefined
    __int128_t lr_bnd[4];
    ^

"/usr/include/bits/link.h", line 113: error: identifier "__int128_t" is
          undefined
    __int128_t lrv_bnd0;
    ^

"/usr/include/bits/link.h", line 114: error: identifier "__int128_t" is
          undefined
    __int128_t lrv_bnd1;
    ^

3 errors detected in the compilation of "conftest.c".

from the source lines

     84 typedef struct La_x86_64_regs
     85 {
     86   uint64_t lr_rdx;
     87   uint64_t lr_r8;
     88   uint64_t lr_r9;
     89   uint64_t lr_rcx;
     90   uint64_t lr_rsi;
     91   uint64_t lr_rdi;
     92   uint64_t lr_rbp;
     93   uint64_t lr_rsp;
     94   La_x86_64_xmm lr_xmm[8];
     95   La_x86_64_vector lr_vector[8];
     96 #ifndef __ILP32__
     97   __int128_t lr_bnd[4];
     98 #endif
     99 } La_x86_64_regs;
    100
    101 /* Return values for calls from PLT on x86-64.  */
    102 typedef struct La_x86_64_retval
    103 {
    104   uint64_t lrv_rax;
    105   uint64_t lrv_rdx;
    106   La_x86_64_xmm lrv_xmm0;
    107   La_x86_64_xmm lrv_xmm1;
    108   long double lrv_st0;
    109   long double lrv_st1;
    110   La_x86_64_vector lrv_vector0;
    111   La_x86_64_vector lrv_vector1;
    112 #ifndef __ILP32__
    113   __int128_t lrv_bnd0;
    114   __int128_t lrv_bnd1;
    115 #endif
    116 } La_x86_64_retval;

I'm guessing that the GCC compiler supports 128-bit integers but the PGI compiler does not.
Do any of you know a way around this?
From reading the documentation, it looks like libunwind had been tested with a lot of compilers, did they all support 128-bit integers?
Thanks,

                     Carl



reply via email to

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