postgresql/src
Tom Lane 14b497cfbb Fix s_lock.h PPC assembly code to be compatible with native AIX assembler.
On recent AIX it's necessary to configure gcc to use the native assembler
(because the GNU assembler hasn't been updated to handle AIX 6+).  This
caused PG builds to fail with assembler syntax errors, because we'd try
to compile s_lock.h's gcc asm fragment for PPC, and that assembly code
relied on GNU-style local labels.  We can't substitute normal labels
because it would fail in any file containing more than one inlined use of
tas().  Fortunately, that code is stable enough, and the PPC ISA is simple
enough, that it doesn't seem like too much of a maintenance burden to just
hand-code the branch offsets, removing the need for any labels.

Note that the AIX assembler only accepts "$" for the location counter
pseudo-symbol.  The usual GNU convention is "."; but it appears that all
versions of gas for PPC also accept "$", so in theory this patch will not
break any other PPC platforms.

This has been reported by a few people, but Steve Underwood gets the credit
for being the first to pursue the problem far enough to understand why it
was failing.  Thanks also to Noah Misch for additional testing.
2015-08-29 16:09:25 -04:00
..
backend Add a small cache of locks owned by a resource owner in ResourceOwner. 2015-08-27 12:22:10 -04:00
bin Fix privilege dumping from servers too old to have that type of privilege. 2015-08-10 20:10:16 -04:00
include Fix s_lock.h PPC assembly code to be compatible with native AIX assembler. 2015-08-29 16:09:25 -04:00
interfaces Fix declaration of isarray variable. 2015-08-13 13:26:18 +02:00
makefiles Don't use deprecated dllwrap on Cygwin. 2014-02-01 16:14:01 -05:00
pl Fix plpython crash when returning string representation of a RECORD result. 2015-08-21 12:21:37 -04:00
port Fix a low-probability crash in our qsort implementation. 2015-07-16 22:57:46 -04:00
template AIX: Test the -qlonglong option before use. 2015-07-17 03:02:23 -04:00
test Undo mistaken tightening in join_is_legal(). 2015-08-12 21:19:09 -04:00
timezone Update time zone data files to tzdata release 2015d. 2015-05-15 19:36:13 -04:00
tools Turn install.bat into a pure one line wrapper fort he perl script. 2015-07-07 16:38:24 +03:00
tutorial Remove tabs after spaces in C comments 2014-05-06 11:26:26 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in Make numeric form of PG version number readily available in Makefiles. 2015-07-05 12:01:01 -04:00
Makefile.shlib Unlink static libraries before rebuilding them. 2015-03-01 13:07:17 -05:00
nls-global.mk Fix makefile logic to not break the build when xgettext is missing 2010-10-14 23:16:46 +03:00
win32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00