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]

Re: [PATCH] S/390:


On 03/14/2014 03:18 PM, Joseph S. Myers wrote:
On Fri, 14 Mar 2014, Stefan Liebler wrote:

Hi,

The conformance tests for ISO99, ISO11, XOPEN2K, POSIX2008 and XOPEN2K8
are failing on S390 for the inttypes.h and stdint.h headers.
The problem is that on S390 size_t / __SIZE_TYPE__
are defined as long unsigned int,
which has the same size as unsigned int (on S390).
SIZE_MAX is defined in sysdeps/generic/stdint.h as 4294967295U.
The conformance-test checks the type of SIZE_MAX,
which should be promoted to __SIZE_TYPE__, but it is unsigned int.

You should fix the header rather than marking these tests as expected to
fail.  (Of course, file a bug in Bugzilla before fixing it, as usual.)  To
avoid duplicating the whole header, maybe add a macro <bits/wordsize.h>
can define such as __WORDSIZE32_SIZE_ULONG, and then test that macro in
<stdint.h>.

(You have two identical bits/wordsize.h files for S/390.  Just one should
suffice.)


I fixed the header as mentioned. The tests pass on s390/s390x.
Unifying s390/s390-32/bits/wordsize.h and s390/s390-64/wordsize.h to s390/bits/wordsize.h leads to a build error:

gcc -shared -static-libgcc -Wl,-O1 -Wl,-z,defs -Wl,-dynamic-linker=/lib/ld.so.1 -Bglibc-build/csu/ -Wl,--version-script=glibc-build/libm.map -Wl,-soname=libm.so.6 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Lglibc-build -Lglibc-build/math -Lglibc-build/elf -Lglibc-build/dlfcn -Lglibc-build/nss -Lglibc-build/nis -Lglibc-build/rt -Lglibc-build/resolv -Lglibc-build/crypt -Lglibc-build/nptl -Wl,-rpath-link=glibc-build:glibc-build/math:glibc-build/elf:glibc-build/dlfcn:glibc-build/nss:glibc-build/nis:glibc-build/rt:glibc-build/resolv:glibc-build/crypt:glibc-build/nptl -o glibc-build/math/libm.so -T glibc-build/shlib.lds glibc-build/csu/abi-note.o -Wl,--whole-archive glibc-build/math/libm_pic.a -Wl,--no-whole-archive glibc-build/elf/interp.os -Wl,--start-group glibc-build/libc.so glibc-build/libc_nonshared.a -Wl,--as-needed glibc-build/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
glibc-build/math/libm_pic.a(s_nanl.os): In function `nanl@@GLIBC_2.4':
s_nanl.c:(.text+0xb4): undefined reference to `strtold'
collect2: error: ld returned 1 exit status
make[2]: *** [glibc-build/math/libm.so] Error 1

Bye.

---
2014-03-18  Stefan Liebler  <stli@linux.vnet.ibm.com>

	[BZ #16712]
	* sysdeps/s390/s390-32/bits/wordsize.h
	(__WORDSIZE32_SIZE_ULONG): New define.
	* sysdeps/s390/s390-64/bits/wordsize.h
	(__WORDSIZE32_SIZE_ULONG): Likewise.
	* sysdeps/generic/stdint.h (SIZE_MAX):
	Define as UL if __WORDSIZE32_SIZE_ULONG.
---

Attachment: patchglibcSIZE_MAX_ASUL
Description: Text document


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