Problem with gcc2.1 on the ACEDB software

David B.Anderson davea at quasar.wpd.sgi.com
Thu Apr 23 17:50:24 EST 1992


In article <1992Apr23.191249.16157 at comp.bioz.unibas.ch> doelz at urz.unibas.ch writes:
>In article <92D7FB3720200D5B at FRCGM51.BITNET>, BIONET at FRCGM51.BITNET writes:
>|> Apparently, it can be used for other genomes as well (in fact it is) and
>|> should run on any Unix machine with X11.
>|> 
>
>On an Iris with gcc2.1 I get, compiling the ACEDB software, 
[ ]
>/usr/bin/ld:
>Undefined:
>__builtin_alignof
>*** Error code 1
>
>? Any hint from what that could be? 

With the MIPS argument passing conventions, stdarg.h needs to know
how big an argument is to know where it is on the stack (since doubles,
for example, require 64-bit alignment).   For structures size > 4
does NOT mean that alignment is > 4.....  

__builtin_alignof is a built-in to cc to get a constant
(the alignment required, in bytes) given a type or variable.

Given double x; 
		__builtin_alignof(x) 
		__builtin_alignof(double) 
are both 8.

gcc apparently does not understand that __builtin_alignof is
special (is not a function call). 

Perhaps gcc has something equivalent.
Or perhaps you will have to modify stdarg.h in some way for gcc.

Hope this helps a little.
[ David B. Anderson  Silicon Graphics  (415)335-1548  davea at sgi.com ]




More information about the Bio-soft mailing list