Fwd: Compile issue for parisc/hppa platform

Greg Chandler chandleg@wizardsworks.org
Sat Sep 7 01:11:10 GMT 2024



I was attempting to build an hppa-linux-gnu cross chain, and got this 
error:


make[2]: Entering directory 
'/opt/cross-build/hppa-linux-gnu/glibc-2.40/elf'
hppa-linux-gnu-gcc dl-find_object.c -c -std=gnu11 -fgnu89-inline  -g -O2 
-Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants 
-frounding-math -fno-stack-protector -fno-common -Wp,-U_FORTIFY_SOURCE 
-Wstrict-prototypes -Wold-style-definition -fmath-errno    -fno-pie      
-ftls-model=initial-exec     -I../include 
-I/opt/cross-build/hppa-linux-gnu/glibc/elf  
-I/opt/cross-build/hppa-linux-gnu/glibc  
-I../sysdeps/unix/sysv/linux/hppa  -I../sysdeps/hppa/nptl  
-I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  
-I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  
-I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix  
-I../sysdeps/posix  -I../sysdeps/hppa/hppa1.1  -I../sysdeps/wordsize-32  
-I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  
-I../sysdeps/hppa/fpu  -I../sysdeps/hppa  -I../sysdeps/ieee754  
-I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem 
/opt/cross-compile/lib/gcc/hppa-linux-gnu/14.2.0/include -isystem 
/opt/cross-compile/lib/gcc/hppa-linux-gnu/14.2.0/include-fixed -isystem 
/opt/cross-compile/hppa-linux-gnu/include -D_LIBC_REENTRANT -include 
/opt/cross-build/hppa-linux-gnu/glibc/libc-modules.h -DMODULE_NAME=libc 
-include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -o 
/opt/cross-build/hppa-linux-gnu/glibc/elf/dl-find_object.o -MD -MP -MF 
/opt/cross-build/hppa-linux-gnu/glibc/elf/dl-find_object.o.dt -MT 
/opt/cross-build/hppa-linux-gnu/glibc/elf/dl-find_object.o
In file included from ../include/atomic.h:49,
                  from dl-find_object.c:20:
In function '_dlfo_update_init_seg',
     inlined from '_dl_find_object_update_1' at dl-find_object.c:690:30,
     inlined from '_dl_find_object_update' at dl-find_object.c:806:13:
../sysdeps/unix/sysv/linux/hppa/atomic-machine.h:44:4: error: 
'__atomic_store_4' writing 4 bytes into a region of size 0 overflows the 
destination [-Werror=stringop-overflow=]
    44 |    __atomic_store_n ((mem), (val), __ATOMIC_RELAXED);            
             \
       |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dl-find_object.c:645:3: note: in expansion of macro 
'atomic_store_relaxed'
   645 |   atomic_store_relaxed (&seg->size, new_seg_size);
       |   ^~~~~~~~~~~~~~~~~~~~
In function '_dl_find_object_update':
cc1: note: destination object is likely at address zero
cc1: all warnings being treated as errors
make[2]: *** [../o-iterator.mk:9: 
/opt/cross-build/hppa-linux-gnu/glibc/elf/dl-find_object.o] Error 1
make[2]: Leaving directory 
'/opt/cross-build/hppa-linux-gnu/glibc-2.40/elf'
make[1]: *** [Makefile:484: elf/subdir_lib] Error 2
make[1]: Leaving directory '/opt/cross-build/hppa-linux-gnu/glibc-2.40'
make: *** [Makefile:12: install] Error 2




Additional info:
hppa-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=hppa-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/opt/cross-compile/libexec/gcc/hppa-linux-gnu/14.2.0/lto-wrapper
Target: hppa-linux-gnu
Configured with: ../gcc-14.2.0/configure --prefix=/opt/cross-compile 
--target=hppa-linux-gnu --enable-languages=c,c++ --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.0 (GCC)



All commands used to do the build:
TARGET_ARCH="hppa-linux-gnu"
PLATFORM_ARCH="parisc"

cd /opt/cross-compile
export PATH="/opt/cross-compile/bin:$PATH"
rm -R /opt/cross-build 2>/dev/null
mkdir /opt/cross-build

mkdir /opt/cross-build/$TARGET_ARCH
cd /opt/cross-build/$TARGET_ARCH
tar -xzf /opt/cross-compiler-sources/binutils-2.43.tar.gz
tar -xzf /opt/cross-compiler-sources/cloog-0.18.1.tar.gz
tar -xzf /opt/cross-compiler-sources/gcc-14.2.0.tar.gz
tar -xzf /opt/cross-compiler-sources/glibc-2.40.tar.gz
tar -xzf /opt/cross-compiler-sources/gmp-6.3.0.tar.gz
tar -xjf /opt/cross-compiler-sources/isl-0.24.tar.bz2
tar -xf /opt/cross-compiler-sources/linux-6.10.8.tar.xz
tar -xzf /opt/cross-compiler-sources/mpc-1.3.1.tar.gz
tar -xzf /opt/cross-compiler-sources/mpfr-4.2.1.tar.gz

cd /opt/cross-build/$TARGET_ARCH/gcc-14.2.0
ln -s ../mpfr-4.2.1 mpfr
ln -s ../gmp-6.3.0 gmp
ln -s ../mpc-1.3.1 mpc
ln -s ../isl-0.24 isl
ln -s ../cloog-0.18.1 cloog
cd ..

cd /opt/cross-build/$TARGET_ARCH/linux-6.10.8
make ARCH=$PLATFORM_ARCH 
INSTALL_HDR_PATH=/opt/cross-compile/$TARGET_ARCH headers_install
cd ..

mkdir /opt/cross-build/$TARGET_ARCH/binutils
cd /opt/cross-build/$TARGET_ARCH/binutils
../binutils-2.43/configure --prefix=/opt/cross-compile 
--target=$TARGET_ARCH --disable-multilib
make -j4
make install
cd ..

mkdir /opt/cross-build/$TARGET_ARCH/gcc
cd /opt/cross-build/$TARGET_ARCH/gcc
../gcc-14.2.0/configure --prefix=/opt/cross-compile 
--target=$TARGET_ARCH --enable-languages=c,c++ --disable-multilib
make -j4 all-gcc
make install-gcc
cd ..

mkdir /opt/cross-build/$TARGET_ARCH/glibc
cd /opt/cross-build/$TARGET_ARCH/glibc
../glibc-2.40/configure --prefix=/opt/cross-compile/$TARGET_ARCH 
--build=$MACHTYPE --host=$TARGET_ARCH --target=$TARGET_ARCH 
--with-headers=/opt/cross-compile/$TARGET_ARCH/include 
--disable-multilib libc_cv_forced_unwind=yes
make install-bootstrap-headers=yes install-headers
make -j4 csu/subdir_lib
install csu/crt1.o csu/crti.o csu/crtn.o 
/opt/cross-compile/$TARGET_ARCH/lib
$TARGET_ARCH-gcc -nostdlib -nostartfiles -shared -x c /dev/null -o 
/opt/cross-compile/$TARGET_ARCH/lib/libc.so
touch /opt/cross-compile/$TARGET_ARCH/include/gnu/stubs.h
cd ..

cd /opt/cross-build/$TARGET_ARCH/gcc
make -j4 all-target-libgcc
make install-target-libgcc
cd ..

cd /opt/cross-build/$TARGET_ARCH/glibc
make -j4


More information about the Libc-help mailing list