odd 7.4 build failure on new sparc machine

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: odd 7.4 build failure on new sparc machine
Date: 2006-07-02 22:41:22
Message-ID: 44A84B92.1060006@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


I am seeing a strange failure on the new box Sun donated, when trying to
build 7.4 for the buildfarm. This is what I get:

gmake[3]: Entering directory `/export/home/oicu/bf/root/REL7_4_STABLE/pgsql.5463/src/backend/port'
ccache gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/include -I/export/home/oicu/mysw/include -c -o dynloader.o dynloader.c
ccache gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/include -I/export/home/oicu/mysw/include -c -o pg_sema.o pg_sema.c
ccache gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/include -I/export/home/oicu/mysw/include -c -o pg_shmem.o pg_shmem.c
pg_shmem.c: In function `PGSharedMemoryAttach':
pg_shmem.c:394: warning: passing arg 1 of `shmdt' from incompatible pointer type
ccache gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -c tas.s
/usr/ccs/bin/ld -r -o SUBSYS.o dynloader.o pg_sema.o pg_shmem.o tas.o
ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0xec1 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0xec5 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0x115d is non-aligned
ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0x46 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0xeb7 is non-aligned
ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0xebd is non-aligned
gmake[3]: *** [SUBSYS.o] Error 1

What is odd is that the identical file seems to succeeed on the later
8.0 and 8.1 branches.

I also don't understand the logic of what's in the file:

ldstub [%o0],%o0
!!
!! if it was already set when we set it, somebody else already
!! owned the lock -- return 1.
!!
cmp %o0,0
bne .LL2
mov 1,%o0
!!
!! otherwise, it was clear and we now own the lock -- return 0.
!!
mov 0,%o0
.LL2:
!!
!! this is a leaf procedure - no need to restore windows and
!! diddle the CWP.
!!
retl

Why do we have "mov 1,%o0" immediately followed by "mov 0,%o0"? As far
as I can understand this code it doesn't seem to do what the comments
say it does.

I'm not sure I care that much about 7.4 on this new machine, but it did
seem to me like it might indicate a deeper problem.

cheers

andrew

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2006-07-03 00:08:19 Re: odd 7.4 build failure on new sparc machine
Previous Message Martijn van Oosterhout 2006-07-02 21:26:56 Re: different sort order in windows and linux version