Re: AIX support
AIX PG user <postgres-ibm-aix@wwpdl.vnet.ibm.com>
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
Hi Peter, >> Those changes to the meson.build files were not needed before >> AIX support was removed. You should find a way to do it without these >> changes. The change was necessary to ensure that the import file used during the static PostgreSQL library build begins with the required #! directive and includes the correct symbol references from the object files. This structure is essential for compatibility with AIX's linking behaviour, which relies on explicitly defined symbol import files during static linking. Without this adjustment, the build process may fail or result in incomplete symbol resolution, particularly on AIX systems. By aligning the import file format and symbol inclusion with platform-specific requirements. We referred to previously removed code that handled similar logic and found it to be effective. Based on this, we plan to revert the changes in the affected files and proceed with a more robust solution. https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0b16bb8776bb834eb1ef8204ca95dd7667ab948b#patch11 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 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 ecpglib_st = static_library(libname, src/interfaces/ecpg/pgtypeslib/meson.build ecpg_pgtypes_st = static_library(libname, src/interfaces/libpq/meson.build libpq_st = static_library(libname >> The changes in src/include/port/aix.h in your patch don't make sense. >> This indicates that you are doing something wrong in your local builds. >> Please fix that. We had to do these changes in the src/include/c.h, As the MACROS, are getting undefined by the below sys header files. We made changes to src/include/c.h because certain macros were being undefined by the system header files listed below. To address this issue, we introduced updates in aix.h. +#ifndef PGDLLIMPORT +#define PGDLLIMPORT #include <stdio.h> #include <stdlib.h> #include <string.h> We are continuing to analyze the impact of these changes and will refine the solution as needed. Once finalized, we will submit the updated changes accordingly. -Sriram.