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.