Re: AIX support

Sriram RK <sriram.rk@outlook.com>

From: Sriram RK <sriram.rk@outlook.com>
To: Noah Misch <noah@leadboat.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Cc: Bruce Momjian <bruce@momjian.us>, Peter Eisentraut <peter@eisentraut.org>, Michael Paquier <michael@paquier.xyz>, Andres Freund <andres@anarazel.de>, Tom Lane <tgl@sss.pgh.pa.us>, Thomas Munro <thomas.munro@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, "tvk1271@gmail.com" <tvk1271@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>
Date: 2024-05-16T14:17:38Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Restore AIX support.

  2. pg_createsubscriber: Improve error messages.

  3. Use <stdint.h> and <inttypes.h> for c.h integers.

  4. Stabilize jsonb_path_query test case.

  5. Fix C23 compiler warning

  6. pg_stat_statements: Add tests for nested queries with level tracking

  7. Add missing newline at the end of index_including.sql

  8. Remove AIX support

  9. Fix s_lock.h PPC assembly code to be compatible with native AIX assembler.

  10. Use a non-locking initial test in TAS_SPIN on PPC.

  11. Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible.

  12. Use mutex hint bit in PPC LWARX instructions, where possible.

  13. Adjust TAS assembly as per recent discussions: use "+m"(*lock) everywhere

  14. Apple's assembler likes the inlined TAS syntax too, so no reason to

  15. Tighten up register usage for inline PPC version of tas().

  16. Put the isync where it's supposed to be.

  17. > > I'll re-check that with the ppc architecture guy here.

  18. Fix PPC s_lock operations to work correctly on multi-CPU machines.

  19. I tried to build PostgreSQL with the following step to see backends hung

  20. Complete merge of all old man page information.

  21. s_lock aix patch.

Hi Team,

We have an update wrt to the PG17 AIX port.

We have reverted the changes specific to AIX (that were removed in 0b16bb8776bb8) to the latest PG17 (head).

The Buildfarm succeeded for these changes. All the tests passed.



    System config

          OS level : AIX-73D

          Compiler : gcc-12 & xlc(16.1.0.18)



    Wed May 15 21:26:00 2024: buildfarm run for AIXnode01:HEAD starting

    AIXnode01:HEAD          [21:26:00] running configure ...

    AIXnode01:HEAD          [21:27:03] running build ...

    AIXnode01:HEAD          [21:27:27] running basic regression tests ...

    AIXnode01:HEAD          [21:34:41] running make contrib ...

    AIXnode01:HEAD          [21:34:43] running make testmodules ...

    AIXnode01:HEAD          [21:34:44] running install ...

    AIXnode01:HEAD          [21:34:58] running make contrib install ...

    AIXnode01:HEAD          [21:35:05] running testmodules install ...

    AIXnode01:HEAD          [21:35:08] checking pg_upgrade

    AIXnode01:HEAD          [21:35:08] checking test-decoding

    AIXnode01:HEAD          [21:35:29] running make check miscellaneous modules ...

    AIXnode01:HEAD          [21:36:16] setting up db cluster (C)...

    AIXnode01:HEAD          [21:36:19] starting db (C)...

    AIXnode01:HEAD          [21:36:19] running installcheck (C)...

    AIXnode01:HEAD          [21:46:27] restarting db (C)...

    AIXnode01:HEAD          [21:46:29] running make isolation check ...

    AIXnode01:HEAD          [21:49:57] restarting db (C)...

    AIXnode01:HEAD          [21:50:02] running make PL installcheck (C)...

    AIXnode01:HEAD          [21:50:09] restarting db (C)...

    AIXnode01:HEAD          [21:50:12] running make contrib installcheck (C)...

    AIXnode01:HEAD          [21:53:53] restarting db (C)...

    AIXnode01:HEAD          [21:53:56] running make test-modules installcheck (C)...

    AIXnode01:HEAD          [21:54:28] stopping db (C)...

    AIXnode01:HEAD          [21:54:29] running make ecpg check ...

    AIXnode01:HEAD          [21:54:45] OK

    Branch: HEAD

    All stages succeeded







The below changes are applied on this commit level

commit 54b69f1bd730a228a666441592a12d2a0cbe2a06 (HEAD -> pgAIX, origin/master, origin/HEAD, master)



    On branch pgAIX

    Changes to be committed:

      (use "git restore --staged <file>..." to unstage)

            new file:   src/backend/port/aix/mkldexport.sh

            new file:   src/include/port/aix.h

            new file:   src/makefiles/Makefile.aix

            new file:   src/template/aix



    Changes not staged for commit:

      (use "git add <file>..." to update what will be committed)

      (use "git restore <file>..." to discard changes in working directory)

            modified:   Makefile

            modified:   config/c-compiler.m4

            modified:   configure

            modified:   configure.ac

            modified:   doc/src/sgml/dfunc.sgml

            modified:   doc/src/sgml/installation.sgml

            modified:   doc/src/sgml/runtime.sgml

            modified:   meson.build

            modified:   src/Makefile.shlib

            modified:   src/backend/Makefile

            modified:   src/backend/meson.build

            modified:   src/backend/storage/buffer/bufmgr.c

            modified:   src/backend/utils/error/elog.c

            modified:   src/backend/utils/misc/ps_status.c

            modified:   src/bin/pg_basebackup/t/010_pg_basebackup.pl

            modified:   src/bin/pg_verifybackup/t/008_untar.pl

            modified:   src/bin/pg_verifybackup/t/010_client_untar.pl

            modified:   src/include/c.h

            modified:   src/include/port/atomics.h

            modified:   src/include/storage/s_lock.h

            modified:   src/interfaces/libpq/Makefile

            modified:   src/interfaces/libpq/meson.build

            modified:   src/port/README

            modified:   src/port/strerror.c

            modified:   src/test/regress/Makefile

            modified:   src/test/regress/expected/sanity_check.out

            modified:   src/test/regress/expected/test_setup.out

            modified:   src/test/regress/regress.c

            modified:   src/test/regress/sql/sanity_check.sql

            modified:   src/test/regress/sql/test_setup.sql

            modified:   src/tools/gen_export.pl

            modified:   src/tools/pginclude/headerscheck



Can you please let us know, the process to post the changes for review?



Regards,
Sriram.