Author Michael.Felt
Recipients Michael.Felt, christian.heimes, martin.panter
Date 2016-10-23.19:26:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1477250795.29.0.694800350283.issue28290@psf.upfronthosting.co.za>
In-reply-to
Content
re: the blake issue - I have ignored it as in not run any tests. Assistance would be to tell me how to easily test "blake" working or not working - before I head upstream.

re: _POSIX_C_SOURCE and _XOPEN_SOURCE

This is the logic in standards.h (AIX 5.3)
  +142  #if (!defined (_XOPEN_SOURCE)) &&  (!defined (_POSIX_SOURCE)) && (!defined (_ANSI_C_SOURCE))
  +143  #define _XOPEN_SOURCE  600
  +144  #define _XOPEN_SOURCE_EXTENDED 1
  +145  #define _POSIX_SOURCE
  +146  #ifndef _POSIX_C_SOURCE
  +147  #define _POSIX_C_SOURCE 200112L
  +148  #endif

And the same in AIX 6.1 (just different line numbers)
  +151  #if (!defined (_XOPEN_SOURCE)) &&  (!defined (_POSIX_SOURCE)) && (!defined (_ANSI_C_SOURCE))
  +152  #define _XOPEN_SOURCE  600
  +153  #define _XOPEN_SOURCE_EXTENDED 1
  +154  #define _POSIX_SOURCE
  +155  #ifndef _POSIX_C_SOURCE
  +156  #define _POSIX_C_SOURCE 200112L
  +157  #endif

However, AIX 7.1 has the "new" values:

  +160  #if (!defined (_XOPEN_SOURCE)) &&  (!defined (_POSIX_SOURCE)) && (!defined (_ANSI_C_SOURCE))
  +161  #define _XOPEN_SOURCE  700
  +162  #define _XOPEN_SOURCE_EXTENDED 1
  +163  #define _POSIX_SOURCE
  +164  #ifndef _POSIX_C_SOURCE
  +165  #define _POSIX_C_SOURCE 200809L
  +166  #endif

So, getting back to issue #17120 - and impact for AIX (and other older *nix platforms - is Python3 saying no support?)

As to the question about how the compiler is called ... Using, as much as possible - defaults documented below.

I use the invocation "xlc" generally - although I am thinking about changing to the "thread safe" invocation "xlc_r".

The differences are defined in /etc/vac.cfg.{53|61|71} (and I expect .72 for the latest compiler).

* -qlanglvl=extc99 C compiler with common extensions, UNIX headers
xlc:    use        = DEFLT_C
        crt        = /lib/crt0.o
        mcrt       = /lib/mcrt0.o
        gcrt       = /lib/gcrt0.o
        libraries  = -L/usr/vac/lib,-lxlopt,-lxlipa,-lxl,-lc
        proflibs   = -L/lib/profiled,-L/usr/lib/profiled
        options    = -qlanglvl=extc99,-qcpluscmt,-qkeyword=inline,-qalias=ansi


* standard c compiler aliased as xlc_r (53 Threads)
xlc_r:  use        = DEFLT_C
        crt        = /lib/crt0.o
        mcrt       = /lib/mcrt0.o
        gcrt       = /lib/gcrt0.o
        libraries  = -L/usr/vac/lib,-lxlopt,-lxlipa,-lxl,-lpthreads,-lc
        proflibs   = -L/lib/profiled,-L/usr/lib/profiled
        hdlibs     = -L/usr/vac/lib,-lhmd
        options    = -qlanglvl=extc99,-qcpluscmt,-qkeyword=inline,-qalias=ansi,-qthreaded,-D_THREAD_SAFE,-D__VACPP_MULTI__

As both have -qalias=ansi - that obviously does not define any of:
 +142  #if (!defined (_XOPEN_SOURCE)) &&  (!defined (_POSIX_SOURCE)) && (!defined (_ANSI_C_SOURCE))

FYI: the other defaults are here:

DEFLT_C:
        use           =DEFLT
        xlurt_cfg_path=/usr/vac/urt
        xlurt_cfg_name=urt_client.cfg

DEFLT_CPP:
        use           =DEFLT
        xlurt_cfg_path=/usr/vacpp/urt
        xlurt_cfg_name=urt_client.cfg

DEFLT:
        cppcomp   = /usr/vacpp/exe/xlCentry
        ccomp     = /usr/vac/exe/xlcentry
        code      = /usr/vac/exe/xlCcode
        cpp       = /usr/vac/exe/xlCcpp
        munch     = /usr/vacpp/exe/munch
        dis       = /usr/vac/exe/dis
        xlC       = /usr/vac/bin/xlc
        list      = /usr/vac/exe/xllist
        xslt      = /usr/vac/exe/XALAN
        transforms = /usr/vac/listings
        listlibs  = /usr/vac/lib
        cppinc    = /usr/vacpp/include
        ipa       = /usr/vac/exe/ipa
        cppfilt   = /usr/vacpp/bin/c++filt
        bolt      = /usr/vac/exe/bolt
        as        = /bin/as
        ld        = /bin/ld
        artool    = /bin/ar
        options   = -D_AIX,-D_AIX32,-D_AIX41,-D_AIX43,-D_AIX50,-D_AIX51,-D_AIX52,-D_AIX53,-D_IBMR2,-D_POWER
        options32 = -bpT:0x10000000,-bpD:0x20000000
        options32_bmaxdata = -bpT:0x10000000,-bpD:0x30000000
        options64 = -bpT:0x100000000,-bpD:0x110000000
        ldopt     = "b:o:e:u:R:H:Y:Z:L:T:A:k:j:"
        hdlibs    = -L/usr/vac/lib,-lhmd
        xlCcopt   = -qlanglvl=extc99,-qcpluscmt,-qkeyword=inline,-qalias=ansi
        crt_64    = /lib/crt0_64.o
        mcrt_64   = /lib/mcrt0_64.o
        gcrt_64   = /lib/gcrt0_64.o
        smplibraries = -lxlsmp
        palibraries  = -L/usr/vatools/lib,-lpahooks
        resexp     = /usr/vacpp/lib/res.exp
        genexports = /usr/vac/bin/CreateExportList
        vac_path   = /usr/vac
        vacpp_path = /usr/vacpp
        xlcmp_path = /usr/vac:/usr/vacpp
        xlc_c_stdinc   = /usr/vac/include:/usr/include
        xlc_cpp_stdinc = /usr/vacpp/include:/usr/include
        xlurt_msg_cat_name=vacumsg.cat
        __GNUC_MINOR__ = 3
        __GNUC_PATCHLEVEL__ = 4
        __GNUC__ = 3
        dfplibs = -ldecNumber
        oslevel   = 5.3
        os_variant = aix
        os_major  = 5
        os_minor  = 3
        inst_info = 5.3, 03 10 2015 16:09

I think the key "extra" is the default defines:
        options   = -D_AIX,-D_AIX32,-D_AIX41,-D_AIX43,-D_AIX50,-D_AIX51,-D_AIX52,-D_AIX53,-D_IBMR2,-D_POWER

Lastly,
re: pointer sizes - my expectation is that a pointer size is a pointer size (and that size being dependent on ABI 4 bytes, or 8 bytes) - but I will have to find or write again my little "sizeof" program. Will do that later. I think IBM "lint" is just being very strict. However, I have learned with working on a port of dovecat that gcc and xlc have different "rules" aka permissiveness when it comes to "dynamic" structs.
History
Date User Action Args
2016-10-23 19:26:35Michael.Feltsetrecipients: + Michael.Felt, christian.heimes, martin.panter
2016-10-23 19:26:35Michael.Feltsetmessageid: <1477250795.29.0.694800350283.issue28290@psf.upfronthosting.co.za>
2016-10-23 19:26:35Michael.Feltlinkissue28290 messages
2016-10-23 19:26:33Michael.Feltcreate