summaryrefslogtreecommitdiff
path: root/src/template/aix
AgeCommit message (Collapse)Author
2024-02-28Remove AIX supportHeikki Linnakangas
There isn't a lot of user demand for AIX support, we have a bunch of hacks to work around AIX-specific compiler bugs and idiosyncrasies, and no one has stepped up to the plate to properly maintain it. Remove support for AIX to get rid of that maintenance overhead. It's still supported for stable versions. The acute issue that triggered this decision was that after commit 8af2565248, the AIX buildfarm members have been hitting this assertion: TRAP: failed Assert("(uintptr_t) buffer == TYPEALIGN(PG_IO_ALIGN_SIZE, buffer)"), File: "md.c", Line: 472, PID: 2949728 Apperently the "pg_attribute_aligned(a)" attribute doesn't work on AIX for values larger than PG_IO_ALIGN_SIZE, for a static const variable. That could be worked around, but we decided to just drop the AIX support instead. Discussion: https://www.postgresql.org/message-id/20240224172345.32@rfd.leadboat.com Reviewed-by: Andres Freund, Noah Misch, Thomas Munro
2022-08-07aix: Remove checks for very old OS versionsAndres Freund
Reviewed-By: Thomas Munro <thomas.munro@gmail.com> Discussion: https://postgr.es/m/20220807012914.ydz73yte6j3coulo@awork3.anarazel.de
2019-10-21Select CFLAGS_SL at configure time, not in platform-specific Makefiles.Tom Lane
Move the platform-dependent logic that sets CFLAGS_SL from src/makefiles/Makefile.foo to src/template/foo, so that the value is determined at configure time and thus is available while running configure's tests. On a couple of platforms this might save a few microseconds of build time by eliminating a test that make otherwise has to do over and over. Otherwise it's pretty much a wash for build purposes; in particular, this makes no difference to anyone who might be overriding CFLAGS_SL via a make option. This patch in itself does nothing with the value and thus should not change any behavior, though you'll probably have to re-run configure to get a correctly updated Makefile.global. We'll use the new configure variable in a follow-on patch. Per gripe from Kyotaro Horiguchi. Back-patch to all supported branches, because the follow-on patch is a portability bug fix. Discussion: https://postgr.es/m/20191010.144533.263180400.horikyota.ntt@gmail.com
2019-10-12AIX: Stop adding option -qsrcmsg.Noah Misch
With xlc v16.1.0, it causes internal compiler errors. With xlc versions not exhibiting that bug, removing -qsrcmsg merely changes the compiler error reporting format. Back-patch to 9.4 (all supported versions). Discussion: https://postgr.es/m/20191003064105.GA3955242@rfd.leadboat.com
2017-10-13Force "restrict" not to be used when compiling with xlc.Andres Freund
Per buildfarm animal Hornet and followup manual testing by Noah Misch, it appears xlc miscompiles code using "restrict" in at least some cases. Allow disabling restrict usage with FORCE_DISABLE_RESTRICT=yes in template files, and do so for aix/xlc. Author: Andres Freund and Tom Lane Discussion: https://postgr.es/m/1820.1507918762@sss.pgh.pa.us
2015-08-07Attempt to work around a 32bit xlc compiler bug from a different place.Andres Freund
In de6fd1c8 I moved the the work around from 53f73879 into the aix template. The previous location was removed in the former commit, and I thought that it would be nice to emit a warning when running configure. That didn't turn out to work because at the point the template is included we don't know whether we're compiling a 32/64 bit binary and it's possible to install compilers for both on a 64 bit kernel/OS. So go back to a less ambitious approach and define PG_FORCE_DISABLE_INLINE in port/aix.h, without emitting a warning. We could try a more fancy approach, but it doesn't seem worth it. This requires moving the check for PG_FORCE_DISABLE_INLINE in c.h to after including the system headers included from therein which isn't perfect, as it seems slightly more robust to include all system headers in a similar environment. Oh well. Discussion: 20150807132000.GC13310@awork2.anarazel.de
2015-08-05Fix typo in commit de6fd1c.Andres Freund
Per buildfarm members mandrill and hornet.
2015-08-05Rely on inline functions even if that causes warnings in older compilers.Andres Freund
So far we have worked around the fact that some very old compilers do not support 'inline' functions by only using inline functions conditionally (or not at all). Since such compilers are very rare by now, we have decided to rely on inline functions from 9.6 onwards. To avoid breaking these old compilers inline is defined away when not supported. That'll cause "function x defined but not used" type of warnings, but since nobody develops on such compilers anymore that's ok. This change in policy will allow us to more easily employ inline functions. I chose to remove code previously conditional on PG_USE_INLINE as it seemed confusing to have code dependent on a define that's always defined. Blacklisting of compilers, like in c53f73879f, now has to be done differently. A platform template can define PG_FORCE_DISABLE_INLINE to force inline to be defined empty. Discussion: 20150701161447.GB30708@awork2.anarazel.de
2015-07-17AIX: Test the -qlonglong option before use.Noah Misch
xlc provides "long long" unconditionally at C99-compatible language levels, and this option provokes a warning. The warning interferes with "configure" tests that fail in response to any warning. Notably, before commit 85a2a8903f7e9151793308d0638621003aded5ae, it interfered with the test for -qnoansialias. Back-patch to 9.0 (all supported versions).
2009-02-11Tweak configure to attempt to add -qnoansialias to CFLAGS whenever runningTom Lane
on AIX with a non-gcc compiler. The previous coding would do this only if CC was exactly "xlc"; which is a bad idea, as demonstrated by trouble report from Mihai Criveti.
2006-02-03Update tested AIX memset platforms.Bruce Momjian
2006-02-03Allow MEMSET_LOOP_LIMIT to be set on a per-platform basis, and turn offBruce Momjian
MemSet on AIX by setting MEMSET_LOOP_LIMIT to zero. Add optimization to skip MemSet tests in MEMSET_LOOP_LIMIT == 0 case and just call memset() directly.
2004-12-02Don't bother adding to cflags/cppflags, just set them because configureBruce Momjian
handles that, and make solaris debug use no optimization.
2004-11-27Add to CPPFLAGS/CFLAGS in template files, don't over-ride them.Bruce Momjian
2003-11-01Fix CFLAGS logic.Peter Eisentraut
2003-10-25Fix CFLAGS selection to actually work. Add test to detect whether gcc'sPeter Eisentraut
option -fno-strict-aliasing is available.
2003-10-09Remove -pipe from compiles.Bruce Momjian
2003-10-09Make template CFLAGS handling consistent.Bruce Momjian
2002-09-04Remove leftovers from subproject removals. Fixes for Python and KerberosPeter Eisentraut
configuration.
2002-03-29Upgrade to Autoconf version 2.53. Replaced many custom macroPeter Eisentraut
calls with new or now-built-in versions. Make sure that all calls to AC_DEFINE have a third argument, for possible use of autoheader in the future.
2000-11-18AIX patches from Andreas.Tom Lane
2000-10-31Determine CXXFLAGS after the C++ compiler was detected. Also honorPeter Eisentraut
--enable-debug and environment variable override.
2000-10-21Move DLSUFFIX, AROPT, and CFLAGS_SL settings from template toPeter Eisentraut
Makefile.port, since they are of no use to configure and much of the library magic happens in Makefile.port anyway. Use __alpha, not __alpha__, since the former is universally available. Remove -DNOFIXADE from the compile command line and put it in the port include file.
2000-07-15Rename templates to match names in makefiles/Makefile.* and include/port.Peter Eisentraut
Read templates after compiler is detected. Convert all templates to real shell scripts. Rename bsd->openbsd, alpha->osf.
1997-05-20From: Darren King <aixssd!darrenk@abs.net>Marc G. Fournier
Subject: [PATCHES] AIX 6.2 make patch. New template files to replace the old AIX template
1997-04-11Change BACKEND to CFLAGSMarc G. Fournier
1997-04-04Move YACC and YFLAGS into the template filesMarc G. Fournier
Clean up the .sample files...comment out all sample entries except for the localhost one
1997-04-04Got AROPT setting backwards...correct itMarc G. Fournier
1997-04-04One helluva mess.Marc G. Fournier
Further extended Makefile.global/build/configure so that we can have a 'template' file for each OS (and each version of OS, as in BSDi) which is used as much as possible to generate Makefile.global Any future ports should look at using the template file as a basis, before moving over to Makefile.global. This will most probably break alot of the ports, atho I've tried to be very neat about it...