Re: AIX support
Peter Eisentraut <peter@eisentraut.org>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Restore AIX support.
- 4a1b05caa55d 19 (unreleased) landed
-
pg_createsubscriber: Improve error messages.
- 898c131b58a0 18.0 cited
-
Use <stdint.h> and <inttypes.h> for c.h integers.
- 962da900ac8f 18.0 cited
-
Stabilize jsonb_path_query test case.
- af2115226831 18.0 cited
-
Fix C23 compiler warning
- d2b4b4c2259e 18.0 cited
-
pg_stat_statements: Add tests for nested queries with level tracking
- 45e0ba30fc40 18.0 cited
-
Add missing newline at the end of index_including.sql
- 54b69f1bd730 17.0 cited
-
Remove AIX support
- 0b16bb8776bb 17.0 cited
-
Fix s_lock.h PPC assembly code to be compatible with native AIX assembler.
- c41a1215f049 9.6.0 cited
-
Use a non-locking initial test in TAS_SPIN on PPC.
- bc2a050d4097 9.2.0 cited
-
Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible.
- 631beeac3598 9.2.0 cited
-
Use mutex hint bit in PPC LWARX instructions, where possible.
- 5cfa8dd3007d 9.2.0 cited
-
Adjust TAS assembly as per recent discussions: use "+m"(*lock) everywhere
- 109867748259 8.0.0 cited
-
Apple's assembler likes the inlined TAS syntax too, so no reason to
- f9ba0a7fe563 7.4.1 cited
-
Tighten up register usage for inline PPC version of tas().
- eb5e4c58d137 7.4.1 cited
-
Put the isync where it's supposed to be.
- cd35d601b859 7.4.1 cited
-
> > I'll re-check that with the ppc architecture guy here.
- ceb4f5ea9c2c 7.4.1 cited
-
Fix PPC s_lock operations to work correctly on multi-CPU machines.
- 7233aae50bea 7.3.1 cited
-
I tried to build PostgreSQL with the following step to see backends hung
- 50938576d482 7.3.1 cited
-
Complete merge of all old man page information.
- f2f43efbe1d5 7.1.1 cited
-
s_lock aix patch.
- e3b06a871b63 7.1.1 cited
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.