Re: AIX support
Heikki Linnakangas <hlinnaka@iki.fi>
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 16/10/2025 18:28, AIX PG user wrote: > diff --git a/src/template/aix b/src/template/aix > new file mode 100644 > index 00000000000..bfc193348f4 > --- /dev/null > +++ b/src/template/aix > @@ -0,0 +1,7 @@ > +# This file is referred for specific flags wrt to AIX build process like > +# cflags. > +# src/template/aix > + > +# Extra CFLAGS for code that will go into a shared library > +# With optimization, the MemSet() and MemSetAlign() perform better. > +CFLAGS_SL=" -O2 " > -- This looks weird. Sure, "-O2" makes things faster, but we shouldn't force that here. If you want optimizations, you should use pass CFLAGS="-O2" or CFLAGS="-O3" to configure. And why the special mention of MemSet() and MemSetAlign()? > @@ -95,6 +97,24 @@ libpostgres.a: postgres > > endif # win32 > > +ifeq ($(PORTNAME), aix) > + > +postgres: $(POSTGRES_IMP) > + $(CC) $(CFLAGS) $(call expand_subsys,$(OBJS)) $(LDFLAGS) -Wl,-bE:$(top_builddir)/src/backend/$(POSTGRES_IMP) $(LIBS) -Wl,-brtllib -o $@ > + > +# Linking to a single .o with -r is a lot faster than building a .a or passing > +# all objects to MKLDEXPORT. > +# > +# It looks alluring to use $(CC) -r instead of ld -r, but that doesn't > +# trivially work with gcc, due to gcc specific static libraries linked in with > +# -r. > +$(POSTGRES_IMP): $(OBJS) > + ld -r -o SUBSYS.o $(call expand_subsys,$^) > + $(MKLDEXPORT) SUBSYS.o . > $@ > + @rm -f SUBSYS.o > + > +endif # aix > + > $(top_builddir)/src/port/libpgport_srv.a: | submake-libpgport I see there's some references to MAKE_EXPORTS in src/backend/Makefile. They seem related to MKLDEXPORT, but we never set MAKE_EXPORTS. Are they still needed? - Heikki