Bruce Momjian
511db38ace
Update copyright for 2009.
2009-01-01 17:24:05 +00:00
Peter Eisentraut
79d306c84a
Support for Sun Studio compiler on Linux
...
This basically takes some build system code that was previously labeled
"Solaris" and ties it to the compiler rather than the operating system.
Author: Julius Stroffek <Julius.Stroffek@Sun.COM>
2008-10-29 16:06:47 +00:00
Bruce Momjian
9098ab9e32
Update copyrights in source tree to 2008.
2008-01-01 19:46:01 +00:00
Tom Lane
c8b7e811f3
Apparently icc doesn't always define __ICC, and it's more correct to
...
check for __INTEL_COMPILER. Per report from Dirk Tilger.
Not back-patched since I don't fully trust it yet ...
2007-08-05 15:11:40 +00:00
Tom Lane
9f6f51d5d4
Hmm, so evidently _check_lock and _clear_lock take an argument of type
...
int not unsigned int. Third try to get grebe building without warnings...
2007-07-16 14:02:22 +00:00
Tom Lane
5aaf09ac46
So our reward for including <sys/atomic_op.h> seems to be a bunch of
...
nattering about casting away volatile. Losers.
2007-07-16 04:57:57 +00:00
Tom Lane
057d5c421f
On AIX, include <sys/atomic_op.h> so that the functions we use for
...
TAS support are properly declared.
2007-07-16 02:03:14 +00:00
Tom Lane
c7464720a3
tas() support for Renesas' M32R processor. Kazuhiro Inaoka
2007-05-04 15:20:52 +00:00
Bruce Momjian
29dccf5fe0
Update CVS HEAD for 2007 copyright. Back branches are typically not
...
back-stamped for this.
2007-01-05 22:20:05 +00:00
Bruce Momjian
399a36a75d
Prepare code to be built by MSVC:
...
o remove many WIN32_CLIENT_ONLY defines
o add WIN32_ONLY_COMPILER define
o add 3rd argument to open() for portability
o add include/port/win32_msvc directory for
system includes
Magnus Hagander
2006-06-07 22:24:46 +00:00
Bruce Momjian
b125d4b0ca
Fix Solaris/ASM test for x86.
2006-05-19 13:10:11 +00:00
Bruce Momjian
40a95aa25b
Use unsigned into for slock_t for pre-sparcv8plus.
2006-05-18 21:18:40 +00:00
Bruce Momjian
0622821853
Mention that gcc/sparc generates sparcv7 binaries.
2006-05-18 16:02:30 +00:00
Bruce Momjian
407885ea3b
Add comments that Solaris Sun compiler only supports sparc9 ASM,
2006-05-17 23:57:03 +00:00
Bruce Momjian
291724dfa8
Solaris tas() uses 'int' now.
...
Theo Schlossnagle
2006-04-29 11:55:19 +00:00
Bruce Momjian
dfec2b070d
Remove "volatile" from tas function, per TOm.
2006-04-28 03:43:19 +00:00
Bruce Momjian
128bed948f
Rewrite Solaris compiler tas() assembly routines, merge i386 and x86_64
...
assembler files, renamed as solaris_x86.s.
Theo Schlossnagle
2006-04-27 22:28:42 +00:00
Tom Lane
cc7eab38dd
Recognize __ppc64__, which seems to be Apple's spelling of the predefined
...
symbol for PPC64 hardware. I hadn't known that Apple supported PPC64 at
all, but darn if there aren't 64-bit variant libraries in OS X as well
as support in their gcc.
2006-04-19 23:11:15 +00:00
Bruce Momjian
f2f5b05655
Update copyright for 2006. Update scripts.
2006-03-05 15:59:11 +00:00
Bruce Momjian
a1675649e4
Remove QNX port.
2006-01-05 01:56:30 +00:00
Bruce Momjian
12af9cdff4
Add support for Solaris x86_64 using Sun's compiler.
...
Pierre Girard
2005-12-30 21:43:41 +00:00
Bruce Momjian
ea771743c8
Fix typo.
2005-12-17 21:08:24 +00:00
Bruce Momjian
8d26730a9a
Update s_lock.c comments.
2005-12-17 20:39:16 +00:00
Bruce Momjian
70cab220c8
Update ASM comments.
2005-12-17 20:15:43 +00:00
Tom Lane
a72ee09090
Add infrastructure for making spins_per_delay variable depending on
...
whether we seem to be running in a uniprocessor or multiprocessor.
The adjustment rules could probably still use further tweaking, but
I'm convinced this should be a win overall.
2005-10-11 20:41:32 +00:00
Tom Lane
9907b9775b
Don't use a non-locked pre-test of the spinlock on x86_64 machines.
...
The pre-test has been shown to be a big loss on Opterons and at best a
wash on EM64T.
2005-10-11 20:01:30 +00:00
Tom Lane
2d03390945
Sigh, looks like you need '.set mips2' before you can access MIPS
...
SYNC instruction.
2005-08-29 00:41:34 +00:00
Tom Lane
7319ab9a59
Add a SYNC instruction to the S_UNLOCK sequence for MIPS.
2005-08-28 18:26:01 +00:00
Tom Lane
5824d02155
Get the MIPS assembler syntax right. Also add a separate sync command;
...
the reference I consulted yesterday said SC does a SYNC, but apparently
this is not true on newer MIPS processors, so be safe.
2005-08-27 16:22:48 +00:00
Tom Lane
846319db3f
Another try at the inlined MIPS spinlock code. Can't test this myself,
...
but for sure it's not any more broken than the prior version.
2005-08-26 22:04:42 +00:00
Tom Lane
396526d8c3
Adjust m68k spinlock code to avoid duplicate in-line and not-in-line
...
definitions on recent Linux systems, per Martin Pitt.
2005-08-26 14:47:35 +00:00
Tom Lane
1a33436224
Replace out-of-line tas() assembly code for MIPS with a properly
...
constrained GCC inline version. Thiemo Seufer, by way of Martin Pitt.
2005-08-25 17:17:10 +00:00
Bruce Momjian
609e32b929
Add spinlock support for Itanium processor with Intel compiler.
...
Vikram Kalsi
2005-03-10 21:41:01 +00:00
PostgreSQL Daemon
2ff501590b
Tag appropriate files for rc3
...
Also performed an initial run through of upgrading our Copyright date to
extend to 2005 ... first run here was very simple ... change everything
where: grep 1996-2004 && the word 'Copyright' ... scanned through the
generated list with 'less' first, and after, to make sure that I only
picked up the right entries ...
2004-12-31 22:04:05 +00:00
Neil Conway
f629583f94
Document what the "rep; nop" x86 assembler sequence is actually equivalent
...
to, and what it is intended to do.
2004-10-06 23:41:59 +00:00
Tom Lane
682598139e
Get rid of /*-inside-comment warning. My fault.
2004-09-24 01:48:43 +00:00
Tom Lane
409b38f514
Fix TAS assembly stuff for Solaris/386. (I'm not in a position to
...
actually test this, but it couldn't be broken any worse than it was...)
2004-09-24 00:21:32 +00:00
Tom Lane
5042985fb4
Add s_lock support for HPUX on IA64, per Shinji Teragaito.
2004-09-02 17:10:58 +00:00
Tom Lane
17364edce6
slock_t must be int not char for MIPS. 7.4 got this right, but the
...
info was apparently mistranscribed in s_lock code rearrangement.
2004-08-30 22:49:07 +00:00
Bruce Momjian
da9a8649d8
Update copyright to 2004.
2004-08-29 04:13:13 +00:00
Tom Lane
1098677482
Adjust TAS assembly as per recent discussions: use "+m"(*lock) everywhere
...
to reference the spinlock variable, and specify "memory" as a clobber
operand to be sure gcc does not try to keep shared-memory values in
registers across a spinlock acquisition. Also tighten the S/390 asm
sequence, which was apparently written with only minimal study of the
gcc asm documentation. I have personally tested i386, ia64, ppc, hppa,
and s390 variants --- there is some small chance that I broke the others,
but I doubt it.
2004-06-19 23:02:32 +00:00
Tom Lane
037e2fcf8f
Must test for __hppa__ as well as __hppa to make linux-hppa happy.
2004-01-03 05:47:44 +00:00
Tom Lane
f8eed65dfb
Improve spinlock code for recent x86 processors: insert a PAUSE
...
instruction in the s_lock() wait loop, and use test before test-and-set
in TAS() macro to avoid unnecessary bus traffic. Patch from Manfred
Spraul, reworked a bit by Tom.
2003-12-27 20:58:58 +00:00
Tom Lane
afb09b5a31
Use inlined TAS() on PA-RISC, if we are compiling with gcc.
...
Patch inspired by original submission from ViSolve.
2003-12-23 22:15:07 +00:00
Tom Lane
9adaf64da3
Mop-up for HAS_TEST_AND_SET refactoring. Un-break two or three platforms
...
that were broken, try to make layout of s_lock.h entries consistent,
use HAVE_SPINLOCKS in preference to HAS_TEST_AND_SET everywhere outside
s_lock.h itself.
2003-12-23 18:13:17 +00:00
Bruce Momjian
caf6e9d2dd
Have configure --without-spinlocks actually not use spinlock code, even
...
if supported by the cpu.
2003-12-23 03:52:10 +00:00
Bruce Momjian
69f2e9b0fc
Move slock_t typdefs into s_lock.h from include/port files for
...
centralization and easier maintanence.
2003-12-23 03:31:30 +00:00
Bruce Momjian
887b5a7be0
Remove NEED_I386_TAS_ASM and just test for compiler defines.
2003-12-23 00:32:06 +00:00
Bruce Momjian
b731d04101
Test for __alpha and __alpha__.
2003-12-22 23:36:38 +00:00
PostgreSQL Daemon
55b113257c
make sure the $Id tags are converted to $PostgreSQL as well ...
2003-11-29 22:41:33 +00:00