I wrote about failing on Sid and working on Testing yesterday. That was misleading. The right information should be: * working with 32bit kernel (2.6.24-1-s390) * failing with 64bit kernel (2.6.24-1-s390x)
[EMAIL PROTECTED]:/boot$ diff config-2.6.24-1-s390 config-2.6.24-1-s390x 4c4 < # Mon Feb 11 13:08:25 2008 --- > # Mon Feb 11 13:08:47 2008 6a7 > CONFIG_ZONE_DMA=y 61d61 < CONFIG_UID16=y 92d91 < CONFIG_LBD=y 94d92 < CONFIG_LSF=y 95a94 > CONFIG_BLOCK_COMPAT=y 117,118c116 < # CONFIG_64BIT is not set < CONFIG_32BIT=y --- > CONFIG_64BIT=y 122c120,121 < CONFIG_MATHEMU=y --- > CONFIG_COMPAT=y > CONFIG_SYSVIPC_COMPAT=y 130,131c129,130 < CONFIG_MARCH_G5=y < # CONFIG_MARCH_Z900 is not set --- > # CONFIG_MARCH_G5 is not set > CONFIG_MARCH_Z900=y 156,157c155,157 < # CONFIG_RESOURCES_64BIT is not set < CONFIG_ZONE_DMA_FLAG=0 --- > CONFIG_RESOURCES_64BIT=y > CONFIG_ZONE_DMA_FLAG=1 > CONFIG_BOUNCE=y So: [EMAIL PROTECTED]:~/ustr-1.0.3$ uname -a Linux s390b 2.6.24-1-s390 #1 SMP Mon Feb 11 13:29:19 UTC 2008 s390 GNU/Linux [EMAIL PROTECTED]:~/ustr-1.0.3$ ./tst_99_64bit; echo $? 77 reboot to 64bit kernel... [EMAIL PROTECTED]:~/ustr-1.0.3$ uname -a Linux s390b 2.6.24-1-s390x #1 SMP Mon Feb 11 14:12:51 UTC 2008 s390x GNU/Linux [EMAIL PROTECTED]:~/ustr-1.0.3$ ./tst_99_64bit; echo $? Segmentation fault 139 On Mon, Feb 25, 2008 at 10:54:05AM -0500, James Antill wrote: > Václav Ovsík <[EMAIL PROTECTED]> writes: > > > This is free software: you are free to change and redistribute it. > > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > > and "show warranty" for details. > > This GDB was configured as "s390-linux-gnu"... > > Using host libthread_db library "/lib/libthread_db.so.1". > > (gdb) run > > Starting program: /home/zito/ustr-1.0.3/tst_99_64bit > > > > Program received signal SIGSEGV, Segmentation fault. > > 0x00408cc0 in big_tst (fsz=2147483707, usz=2147483707, hack=1, tst_add=1) > > at tst_99_64bit.c:37 > > 37 tst_99_64bit.c: No such file or directory. > > in tst_99_64bit.c > > (gdb) bt > > #0 0x00408cc0 in big_tst (fsz=2147483707, usz=2147483707, hack=1, > > tst_add=1) at tst_99_64bit.c:37 > > #1 0x0040978e in tst () at tst_99_64bit.c:121 > > #2 0x00409fc4 in main () at tst.h:172 > > > > > > [EMAIL PROTECTED]:~/ustr-1.0.3$ file ./tst_99_64bit > > ./tst_99_64bit: ELF 32-bit MSB executable, IBM S/390, version 1 (SYSV), for > > GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped > > Seeing where it died showed the obvious bug in the test case: > > diff --git a/T/ctst_99_64bit.c b/T/ctst_99_64bit.c > index e01176c..aa084b6 100644 > --- a/T/ctst_99_64bit.c > +++ b/T/ctst_99_64bit.c > @@ -29,7 +29,8 @@ static int big_tst(size_t fsz, size_t usz, int hack, int > tst_a > > if (ftruncate(fd, fsz) == -1) > goto fail_ftrunc; > - if (!(ptr = mmap(0, fsz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0))) > + ptr = mmap(0, fsz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); > + if (ptr == MAP_FAILED) > goto fail_mmap; > memset(ptr, '-', ((fsz < 32) ? fsz : 32)); Oh, thank you for prompt reply! Things look good after applying your patch. I have reran make check, everything passed and 64bit test were skipped. Great! Thank you very much for the prompt fix. I'm going to prepare the new package revision. Regards. -- Zito
Compiling: ctst_99_64bit.o Compiling: octst_99_64bit.o Compiling: tst_99_64bit.o ustr-main-code.h: In function 'ustrp__dupx': ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type ustr-main-code.h: In function 'main': ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type Compiling: otst_99_64bit.o ustr-main-code.h: In function 'ustrp__set': ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type ustr-main-code.h: In function 'big_tst': ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type ustr-main-code.h: In function 'main': ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type ustr-main-code.h:1114: warning: passing argument 1 of 'ustr__ref_add' discards qualifiers from pointer target type PASS: ctst_0_cntl PASS: octst_0_cntl PASS: ctst_0_nothing PASS: octst_0_nothing PASS: ctst_3_medium PASS: octst_3_medium PASS: ctst_4_grow PASS: octst_4_grow PASS: ctst_5_shrink PASS: octst_5_shrink PASS: ctst_7_auto PASS: octst_7_auto PASS: ctst_8_spn PASS: octst_8_spn PASS: ctst_9_ins PASS: octst_9_ins PASS: ctst_10_b PASS: octst_10_b PASS: ctst_11_io PASS: octst_11_io PASS: ctst_12_fmt PASS: octst_12_fmt PASS: ctst_13_utf8 PASS: octst_13_utf8 PASS: ctst_14_cmp PASS: octst_14_cmp PASS: ctst_15_trim PASS: octst_15_trim PASS: ctst_16_parse PASS: octst_16_parse PASS: ctst_17_sub PASS: octst_17_sub PASS: ctst_18_split PASS: octst_18_split PASS: ctst_98_pool PASS: octst_98_pool PASS: ctst_99_enomem PASS: octst_99_enomem SKIP: ctst_99_64bit SKIP: octst_99_64bit PASS: tst_0_sizes PASS: tst_0_manual PASS: otst_0_sizes PASS: otst_0_manual PASS: tst_0_nothing PASS: otst_0_nothing PASS: tst_1_basic PASS: otst_1_basic PASS: tst_2_small PASS: otst_2_small PASS: tst_3_medium PASS: otst_3_medium PASS: tst_4_grow PASS: otst_4_grow PASS: tst_5_shrink PASS: otst_5_shrink PASS: tst_6_tiny PASS: otst_6_tiny PASS: tst_7_auto PASS: otst_7_auto PASS: tst_8_spn PASS: otst_8_spn PASS: tst_9_ins PASS: otst_9_ins PASS: tst_10_b PASS: otst_10_b PASS: tst_11_io PASS: otst_11_io PASS: tst_12_fmt PASS: otst_12_fmt PASS: tst_13_utf8 PASS: otst_13_utf8 PASS: tst_14_cmp PASS: otst_14_cmp PASS: tst_15_trim PASS: otst_15_trim PASS: tst_16_parse PASS: otst_16_parse PASS: tst_17_sub PASS: otst_17_sub PASS: tst_18_split PASS: otst_18_split PASS: tst_98_pool PASS: otst_98_pool PASS: tst_99_enomem PASS: otst_99_enomem SKIP: tst_99_64bit SKIP: otst_99_64bit ====================== All 84 tests passed (4 tests were not run) ====================== rm ctst_99_64bit.o otst_99_64bit.o ctst_99_64bit.c otst_99_64bit.c tst_99_64bit.o octst_99_64bit.c tst_99_64bit.c octst_99_64bit.o