On Sat, 30 Dec 2000, Tom Lane wrote:
[snipped header]
> "Thomas T. Thai" <tom@minnesota.com> writes:
> > i grabbed the CVS ball last night and tried to build it. i'm attaching a
> > patch that made it possible to build -current on NetBSD/Alpha
> > 1.5.1_ALPHA.
>
> Partially applied, per comments below.
>
> > after install, i did the regression test and it failed in the same way
> > that 7.0.3+rkirkpat.patch did as described below (copy of my last post).
>
> Hmm, no idea what's going on here. Could you compile with -g and then
> use gdb to track the reported PC addresses to particular source lines?
> That might give us a clue.
will do.
> --- /usr/local/source/postgresql/pgsql/src/backend/main/main.c Fri Nov 24 21:45:47 2000
> +++ /usr/local/build/pgsql-current/src/backend/main/main.c Sat Dec 30 15:06:34 2000
>
> -#if defined(__alpha) && !defined(linux) && !defined(__FreeBSD__)
> +#if defined(__alpha) && !defined(linux) && !defined(__FreeBSD__) && !defined(__NetBSD__)
> #include <sys/sysinfo.h>
> #include "machine/hal_sysinfo.h"
> Applied, but I begin to think that we should be testing here for the
> *presence* of a Tru64 symbol, rather than the absence of a bunch of
> other OSes. Anyone know what would be suitable?
i don't know what the symbol might be.
> +#include <sys/param.h>
>
> I inserted this conditionally on #if defined(__NetBSD__). It seems
> a bad idea to risk breaking other ports to fix yours.
agreed.
> --- /usr/local/source/postgresql/pgsql/src/include/port/netbsd.h Sun Oct 29 07:17:34 2000
> +++ /usr/local/build/pgsql-current/src/include/port/netbsd.h Sat Dec 30 14:59:06 2000
>
> netbsd.h changes look good, applied.
>
> --- /usr/local/source/postgresql/pgsql/src/include/storage/s_lock.h Fri Dec 29 20:34:56 2000
> +++ /usr/local/build/pgsql-current/src/include/storage/s_lock.h Sat Dec 30 14:59:37 2000
> @@ -241,7 +241,17 @@
> #if defined(NEED_NS32K_TAS_ASM)
> #define TAS(lock) tas(lock)
>
> +#if defined(__GNUC__)
> +/*
> + * GCC on the Alpha doesn't appear to handle inlining of assembly with
> + * %0 or %1 properly. This removes the inlining of the tas (test-and-set)
> + * function, which probably slows things down considerably, but correctness
> + * first!
> + */
> +static int
> +#else
> static __inline__ int
> +#endif
> tas(volatile slock_t *lock)
> {
> register _res;
>
> Uh, why are you altering NS32K code in an Alpha patch? I did not apply
> this.
cause egcs on NetBSD/Alpha will give lots of error during compile. we
don't have gcc 2.95.2 on the alpha working yet.