Re: [Gc] FreeBSD/ia64 build error: ./include/private/gcconfig.h:2436:3: error: #error --> undefined ALIGNMENT
Vitaly Magerya <[email protected]>
| Newsgroups | gmane.comp.programming.garbage-collection.boehmgc |
|---|---|
| Message-ID | <[email protected]> |
On 2014-04-24 15:41, Anton Shterenlikht wrote: > ===> Building for boehm-gc-7.2e > /bin/sh ./libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -O2 -pipe -fno-strict-aliasing -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c -o allchblk.lo allchblk.c > libtool: compile: cc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -O2 -pipe -fno-strict-aliasing -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c -fPIC -DPIC -o .libs/allchblk.o > In file included from ./include/private/gc_priv.h:94, > from allchblk.c:17: > ./include/private/gcconfig.h:2436:3: error: #error --> undefined ALIGNMENT > *** Error code 1 > > [...] > > I'm not sure if this is a regression, or that boehm-gc never > built on ia64, and some recent changes in the FreeBSD ports > infrastructure made lots of ports to depend on it. > > I'm happy to try patches, or provide other log files. It never built on FreeBSD/ia64 (which is why the port is marked with NOT_FOR_ARCHS=ia64). See gcconfig.h [1]: the "ifdef IA64" section doesn't have "ifdef FREEBSD" clause in it. Perhaps you could add something like this to that section: # ifdef FREEBSD # define OS_TYPE "FREEBSD" # define CPP_WORDSZ 64 # define ALIGNMENT 8 # define SEARCH_FOR_DATA_START # define FREEBSD_STACKBOTTOM # ifdef __ELF__ # define DYNAMIC_LOADING # endif # endif ... and see if it builds and passes regression tests. (This is a wild guess though; even if it will compile, applications may still crash or leak memory; unfortunately more knowledge of the process memory layout in FreeBSD/ia64 is needed than I have). [1] https://github.com/ivmai/bdwgc/blob/master/include/private/gcconfig.h#L1814 [2] https://github.com/ivmai/bdwgc/blob/master/doc/porting.html