-On [20030905 20:52], Tom Lane ([EMAIL PROTECTED]) wrote: >Alternatively, find out what symbols your compiler predeclares. >If my theory is right then your pg_config_os.h file is failing to >define HAS_TEST_AND_SET; why?
Indeed, pg_config_os.h does not set anything for __ia64__. When I added definitions for Itanium and Opteron to the src/include/port/freebsd.h (attached) I get the following: Opteron: gmake[4]: Entering directory `/h/scratch/asmodai/postgresql-snapshot/src/backend/access/transam' gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o clog.o clog.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o transam.o transam.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o varsup.o varsup.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o xact.o xact.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o xlog.o xlog.c {standard input}: Assembler messages: {standard input}:7886: Error: Incorrect register `%eax' used with `b' suffix gmake[4]: *** [xlog.o] Error 1 Itanium: gmake[4]: Entering directory `/q/scratch/asmodai/postgresql-snapshot/src/backend/access/transam' gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o clog.o clog.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o transam.o transam.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o varsup.o varsup.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o xact.o xact.c gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -c -o xlog.o xlog.c ../../../../src/include/storage/s_lock.h: In function `tas': ../../../../src/include/storage/s_lock.h:125: error: inconsistent operand constraints in an `asm' gmake[4]: *** [xlog.o] Error 1 On the Alpha box I get 10 out of 92 regression tests failed, see http://www.in-nomine.org/~asmodai/regressions.diff I see some are due to locks failed, but it had as much semaphores available as the other boxes (or as little) and could go through the entire initdb routine. -- Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai PGP fingerprint: 2D92 980E 45FE 2C28 9DB7 9D88 97E6 839B 2EAC 625B http://www.tendra.org/ | http://www.in-nomine.org/~asmodai/diary/ The wisdom of the wise, and the experience of ages, may be preserved by quotations...
--- freebsd.h.orig Fri Sep 5 21:38:06 2003 +++ freebsd.h Fri Sep 5 21:41:38 2003 @@ -44,5 +44,14 @@ #if defined(__powerpc__) #define HAS_TEST_AND_SET typedef unsigned int slock_t; +#endif +#if defined(__ia64__) +#define HAS_TEST_AND_SET +typedef unsigned int slock_t; +#endif + +#if defined(__x64_64__) +#define HAS_TEST_AND_SET +typedef unsigned int slock_t; #endif
---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])