Re: AIX support - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: AIX support
Date
Msg-id c4a5fcf5-fd41-4548-a18a-c05761979c9a@eisentraut.org
Whole thread Raw
In response to RE: AIX support  (Srirama Kucherlapati <sriram.rk@in.ibm.com>)
List 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.



pgsql-hackers by date:

Previous
From: Sami Imseih
Date:
Subject: Re: explain plans for foreign servers
Next
From: Jacob Champion
Date:
Subject: Re: [oauth] SASL mechanisms