Thread: Fatal compiler/assembler errors (PostgreSQL 7.0.2/NetBSD 1.4.2/VAX)

Fatal compiler/assembler errors (PostgreSQL 7.0.2/NetBSD 1.4.2/VAX)

From
Jeff Workman
Date:
Is this a problem with PostgreSQL or a buggy assembler?

In file included from xlog.c:28:
../../../include/storage/s_lock.h:158: redefinition of `slock_t'
../../../include/os.h:43: `slock_t' previously declared here
../../../include/storage/s_lock.h: In function `tas':
../../../include/storage/s_lock.h:163: warning: type defaults to `int' in declaration of `_res'
{standard input}: Assembler messages:
{standard input}:119: Warning: Ignoring statement due to "Too many operands"
{standard input}:119: Warning: Junk at end of expression "bbssi $0"
{standard input}:128: Warning: Ignoring statement due to "Too many operands"
{standard input}:128: Warning: Junk at end of expression "bbssi $0"
{standard input}:152: Warning: Ignoring statement due to "Too many operands"
{standard input}:152: Warning: Junk at end of expression "bbssi $0"
{standard input}:159: Warning: Ignoring statement due to "Too many operands"
{standard input}:159: Warning: Junk at end of expression "bbssi $0"
{standard input}:187: Warning: Ignoring statement due to "Too many operands"
{standard input}:187: Warning: Junk at end of expression "bbssi $0"
{standard input}:520: Warning: Ignoring statement due to "Too many operands"
{standard input}:520: Warning: Junk at end of expression "bbssi $0"
{standard input}:576: Warning: Ignoring statement due to "Too many operands"
{standard input}:576: Warning: Junk at end of expression "bbssi $0"
{standard input}:614: Warning: Ignoring statement due to "Too many operands"
{standard input}:614: Warning: Junk at end of expression "bbssi $0"
{standard input}:665: Warning: Ignoring statement due to "Too many operands"
{standard input}:665: Warning: Junk at end of expression "bbssi $0"
{standard input}:770: Warning: Ignoring statement due to "Too many operands"
{standard input}:770: Warning: Junk at end of expression "bbssi $0"
{standard input}:815: Warning: Ignoring statement due to "Too many operands"
{standard input}:815: Warning: Junk at end of expression "bbssi $0"
{standard input}:853: Warning: Ignoring statement due to "Too many operands"
{standard input}:853: Warning: Junk at end of expression "bbssi $0"
{standard input}:987: Warning: Ignoring statement due to "Too many operands"
{standard input}:987: Warning: Junk at end of expression "bbssi $0"
{standard input}:1197: Warning: Ignoring statement due to "Too many operands"
{standard input}:1197: Warning: Junk at end of expression "bbssi $0"
xlog.c: At top level:
xlog.c:817: warning: `ReadRecord' defined but not used
make[3]: *** [xlog.o] Error 1
make[3]: Leaving directory `/usr/src/postgresql-7.0.2/src/backend/access/transam'
make[2]: *** [submake] Error 2
make[2]: Leaving directory `/usr/src/postgresql-7.0.2/src/backend/access'
make[1]: *** [access.dir] Error 2
make[1]: Leaving directory `/usr/src/postgresql-7.0.2/src/backend'
make: *** [all] Error 2

--
"For competitive reasons we can't tell you the location of our fiber."
    -- An anonymous representative of a very large telco
"For competitive reasons we can't tell you the location of our backhoe."
    -- An anonymous representative of a contractor.


Re: Fatal compiler/assembler errors (PostgreSQL 7.0.2/NetBSD 1.4.2/VAX)

From
Peter Eisentraut
Date:
Jeff Workman writes:

> Is this a problem with PostgreSQL or a buggy assembler?

PostgreSQL -- Apparently no one tried to use a VAX in a while.

> In file included from xlog.c:28:
> ../../../include/storage/s_lock.h:158: redefinition of `slock_t'
> ../../../include/os.h:43: `slock_t' previously declared here

Remove the one in s_lock.h.

> ../../../include/storage/s_lock.h: In function `tas':
> ../../../include/storage/s_lock.h:163: warning: type defaults to `int' in declaration of `_res'

Add int there if you like.

> {standard input}: Assembler messages:
> {standard input}:119: Warning: Ignoring statement due to "Too many operands"
> {standard input}:119: Warning: Junk at end of expression "bbssi $0"

This one got messed up during a code indentation run.  The code around
line 165 in s_lock.h should look like the one below (reconstructed from
latest good revision).  I don't have a clue how the assembly code actually
works, there might be requirements regarding whitespace that do not show
very well.  If you have problems, you might find help on this issue in a
netbsd/vax forum.

Let us know how it turns out.


static __inline__ int
tas(volatile slock_t *lock)
{
    register        _res;

    __asm__("        movl $1, r0
                     bbssi $0, (%1), 1f
                     clrl r0
  1:                 movl r0, %0 "
  :                  "=r"(_res)                                /* return value, in register */
  :                  "r"(lock)                                 /* argument, 'lock pointer', in register */
  :                  "r0");                                    /* inline code uses this register */
    return (int) _res;
}

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/


Re: Fatal compiler/assembler errors (PostgreSQL 7.0.2/NetBSD 1.4.2/VAX)

From
Jeff Workman
Date:
Stoned koala bears drooled eucalyptus spit in awe as Peter Eisentraut exclaimed:

> Jeff Workman writes:
>
> > Is this a problem with PostgreSQL or a buggy assembler?
>
> PostgreSQL -- Apparently no one tried to use a VAX in a while.

It's actually rather comforting to know that there's not anybody else out
there in the world sick enough to try this on a VAX.  I'll sleep better at
night knowing this. :).

> Let us know how it turns out.

Well, it's still compiling but it made it past this part ok this
time.  I'll follow-up in a couple of weeks (it'll probably take that long
to build) and let everybody know if it actually turned out ok.

Jeff

 --
"For competitive reasons we can't tell you the location of our fiber."
    -- An anonymous representative of a very large telco
"For competitive reasons we can't tell you the location of our backhoe."
    -- An anonymous representative of a contractor.


Re: Fatal compiler/assembler errors (PostgreSQL 7.0.2/NetBSD 1.4.2/VAX)

From
Bruce Momjian
Date:
There was a message about six months ago about someone trying to get to
work on a VAX.  Check the archvie on www.postgresql.org.

> Stoned koala bears drooled eucalyptus spit in awe as Peter Eisentraut exclaimed:
>
> > Jeff Workman writes:
> >
> > > Is this a problem with PostgreSQL or a buggy assembler?
> >
> > PostgreSQL -- Apparently no one tried to use a VAX in a while.
>
> It's actually rather comforting to know that there's not anybody else out
> there in the world sick enough to try this on a VAX.  I'll sleep better at
> night knowing this. :).
>
> > Let us know how it turns out.
>
> Well, it's still compiling but it made it past this part ok this
> time.  I'll follow-up in a couple of weeks (it'll probably take that long
> to build) and let everybody know if it actually turned out ok.
>
> Jeff
>
>  --
> "For competitive reasons we can't tell you the location of our fiber."
>     -- An anonymous representative of a very large telco
> "For competitive reasons we can't tell you the location of our backhoe."
>     -- An anonymous representative of a contractor.
>
>


--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026