David Miller <da...@davemloft.net> writes: Try this, declare the table as: .section ".rodata" .type ctz_table,#object ctz_table: That gets us longer, indeed!
But now make check fails. At least some symmetry between the 64-bit and 32-bit Solaris builds. :-) tests/mpn: /NOBACKUP/tege/prec/gmp-snap/tests/mpn/t-fat.c:157: GNU MP assertion failed: r == 3 /bin/bash: line 5: 25440 Abort ${dir}$tst FAIL: t-fat tests/mpz: >_mp_size) == 0 || ((got)->_mp_d)[((((got)->_mp_size)) >= 0 ? >(((got)->_mp_size)) : -(((got)->_mp_size))) - 1] != 0 /bin/bash: line 5: 291 Abort ${dir}$tst FAIL: t-gcd /bin/bash: line 5: 326 Arithmetic Exception ${dir}$tst FAIL: t-lcm 1/400 passes/NOBACKUP/tege/prec/gmp-snap/tests/mpz/reuse.c:294: GNU MP assertion failed: ((ref1)->_mp_size) == 0 || ((ref1)->_mp_d)[((((ref1)->_mp_size)) >= 0 ? (((ref1)->_mp_size)) : -(((ref1)->_mp_size))) - 1] != 0 /bin/bash: line 5: 570 Abort ${dir}$tst FAIL: reuse mpz_perfect_power_p returns 0 when 1 was expected fault operand: -0x30a7a6000 /bin/bash: line 5: 620 Abort ${dir}$tst FAIL: t-perfpow mpz_kronecker_ui (4398012956736, 85) is 1 should be 0 /bin/bash: line 5: 638 Abort ${dir}$tst tests/mpq: All tests fail. Because I'm beginning to suspect that the linker isn't lying to us, and the assembler is emitting ctz_table in section STT_TLS for some reason. And that this has been happening all along. Perhaps if you don't declare an object's type it gets some default, and in this case the default ends up being #tlsobject. Presumably this was never the intended assember behaviour. If this is the case, it's simple to deal with this this by simply using ".type" directive consistently. I can do all of the grunt work once you confirm this. I haven't really tried to understand the situation, but I would at least like to understand why the PIC/LEA changes caused to much regression. Or put differently: Why did things use to work before the improvements? -- Torbjörn _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org http://gmplib.org/mailman/listinfo/gmp-devel