>> gcc -O1 -g -DNDEBUG -funsigned-char -Wall -I../include '-DVERSION="1.2.4"' >> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DXFS_BIG_FILES=1 >> -DXFS_BIG_FILESYSTEMS=1 -o xfs_db -L../libxfs addr.o agf.o agfl.o agi.o >> attr.o attrshort.o bit.o block.o bmap.o bmapbt.o bmroot.o bnobt.o check.o >> cntbt.o command.o convert.o data.o dbread.o debug.o dir.o dir2.o dir2sf.o >> dirshort.o dquot.o echo.o faddr.o field.o flist.o fprint.o frag.o freesp.o >> hash.o help.o init.o inobt.o inode.o input.o io.o malloc.o mount.o output.o >> print.o quit.o sb.o uuid.o sig.o strvec.o type.o write.o main.o -lxfs >> /usr/lib/libuuid.a >> ../libxfs/libxfs.a(xfs_inode.o): In function `libxfs_xlate_dinode_core': >> /opt/src/robert/XFS/xfsprogs-1.2.4/libxfs/xfs_inode.c:563: undefined >> reference to `__fswab64' >> /opt/src/robert/XFS/xfsprogs-1.2.4/libxfs/xfs_inode.c:563: relocation >> truncated to fit: R_PPC_REL24 __fswab64
Ignore "relocation truncated to fit", it is a spurious error message caused by __fswab64 being undefined, __fswab64 is treated as 0 and a ppc rel24 offset is not enough to represent 0 when the program is loaded above address 2**23. As for why __fswab64 is undefined, try using -O2 instead of -O1. AFAIK functions are not inlined at -O1.