This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
elision-conf.c "__pthread_init_array causes a section type conflict"
- From: Dominik Vogt <vogt at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Mon, 22 Jul 2013 15:01:38 +0200
- Subject: elision-conf.c "__pthread_init_array causes a section type conflict"
- Reply-to: libc-alpha at sourceware dot org
I've trouble to adapt the latest elision patches to s390. In
elision-conf.c (x86), there is this piece of code:
#ifdef SHARED
# define INIT_SECTION ".init_array"
#else
# define INIT_SECTION ".preinit_array"
#endif
void (*const __pthread_init_array []) (int, char **, char **)
__attribute__ ((section (INIT_SECTION), aligned (sizeof (void *)))) =
{
&elision_init
};
(I've copied the file to s390 with only minor changes.)
But on s390 I get the following error message:
gcc-tx-profile ../nptl/sysdeps/unix/sysv/linux/s390/elision-lock.c -c -std=gnu99 -fgnu89-inline -O3 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -march=zEC12 -mtx-profile -mtx-profile-blocks=1000 -save-temps -Wstrict-prototypes -mlong-double-128 -fpic -I../include -I/home/vogt/src/git/glibc/build/nptl -I/home/vogt/src/git/glibc/build -I../nptl/sysdeps/unix/sysv/linux/s390/s390-64 -I../sysdeps/unix/sysv/linux/s390/s390-64/nptl -I../sysdeps/unix/sysv/linux/s390/s390-64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/unix/sysv/linux/s390/fpu -I../sysdeps/s390/fpu -I../nptl/sysdeps/unix/sysv/linux/s390 -I../sysdeps/unix/sysv/linux/s390 -I../sysdeps/ieee754/ldbl-64-128 -I../sysdeps/ieee754/ldbl-opt -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/s390/s390-64/multiarch -I../sysdeps/s390/s390-64 -I../sysdeps/wordsize-64 -I../nptl/sysdeps/s390 -I../sysdeps/s390 -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -DNOT_IN_libc=1 -DIS_IN_libpthread=1 -DIN_LIB=libpthread -o /home/vogt/src/git/glibc/build/nptl/elision-lock.os -MD -MP -MF /home/vogt/src/git/glibc/build/nptl/elision-lock.os.dt -MT /home/vogt/src/git/glibc/build/nptl/elision-lock.os
In file included from ../nptl/sysdeps/unix/sysv/linux/s390/elision-lock.c:29:0:
../nptl/sysdeps/unix/sysv/linux/s390/elision-conf.c:76:14: error: __pthread_init_array causes a section type conflict
void (*const __pthread_init_array []) (int, char **, char **)
^
I've no idea what the cause of the error message is (or what the
sections .init_array or .preinit_array are meant to be used for -
are they specific to x86?).
Any insights?
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt
IBM Germany