Re: AIX support

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Srirama Kucherlapati <sriram(dot)rk(at)in(dot)ibm(dot)com>, AIX PG user <postgres-ibm-aix(at)wwpdl(dot)vnet(dot)ibm(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Re: AIX support
Date: 2025-12-09 21:08:39
Message-ID: c4a5fcf5-fd41-4548-a18a-c05761979c9a@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 09.12.25 17:50, Srirama Kucherlapati wrote:
> Hi Team, (Peter/Heikki)
>
> I have implemented the requested modifications in the latest patch.
> Below are the key technical updates:
>
> • Meson Build Configuration: Adjusted below meson.build scripts to
> incorporate the suggested changes, ensuring proper dependency resolution
> and improved build consistency.
>
>     Removed the AIX changes in the below from the previous patch.
>
>     src/backend/jit/llvm/meson.build
> src/backend/replication/libpqwalreceiver/meson.build
> src/backend/replication/pgoutput/meson.build
> src/backend/snowball/meson.build
> src/backend/utils/mb/conversion_procs/meson.build
>
>     Added the static_library() changes.
>
>     > Regarding the archiving of shared and static libraries, the
> latest version of
>> Meson raises a conflict as both targets have the same name. This issue
>> arises because, on AIX, both shared and static libraries are named as same
>> archive, which leads to naming collisions during the build process. We
>> would still need the below changes.
>
>      src/interfaces/ecpg/compatlib/meson.build
> src/interfaces/ecpg/ecpglib/meson.build
> src/interfaces/ecpg/pgtypeslib/meson.build
> src/interfaces/libpq/meson.build
>
> • CFLAGS Optimization Removal: Removed high-level optimization flags
> from CFLAGS to prevent unpredictable behaviour and maintain stability
> during compilation.
>
> I would greatly appreciate it if you could review the patch and share
> your feedback or any additional recommendations.
>
> Apologies for the delayed response; I was occupied with other tasks.
>
> Your insights are greatly appreciated and will help enhance the patch.
>
>
> Warm regards,
> -Sriram.
>
>

1) In meson.build:

+ cppflags += '-D_GNU_SOURCE'

I don't think this symbol is applicable to AIX.

2) In meson.build:

+ # Native memset() is faster, tested on:
+ memset_loop_limit = 0

The comment sentence appears to be truncated.

3) In meson.build:

+#if cc.alignment('int64_t', args: test_c_args, prefix: '#include
<stdint.h>') > alignof_double
+# error('alignment of int64_t is greater than the alignment of double')
+#endif

This commented out code cannot be left like this. Either remove it or
adjust it as required.

4) In meson.build:

/* This must match the corresponding code in c.h: */
- #if defined(__GNUC__)
+ #if defined(__GNUC__) || defined(__IBMC__)

You code does not observe what the comment says.

5) The changes in src/include/port/aix.h are nonsense. This was
previously pointed out and you said you would address this.

6) I had previously pointed out that the changes in
src/include/storage/s_lock.h are not acceptable like that and you had
said that you would address that.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Champion 2025-12-09 21:18:43 Re: [oauth] SASL mechanisms
Previous Message Sami Imseih 2025-12-09 21:08:08 Re: explain plans for foreign servers