This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

elision-conf.c "__pthread_init_array causes a section type conflict"


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]