[gambit-list] problems with clang

Marc Feeley feeley at iro.umontreal.ca
Thu Apr 7 14:45:55 EDT 2016


Interesting… Control point 3 in “ _num” is this C code:

___DEF_SLBL(3,___L3__20___num)
   ___SET_GLO(341,___G__23__23_reciprocal_2d_cache,___R1)
   ___SET_R1(___FIXQUO(___GLO__23__23_bignum_2e_mdigit_2d_width,___FIX(2L)))
   ___SET_GLO(69,___G__23__23_bignum_2e_mdigit_2d_width_2f_2,___R1)
   ___SET_R1(___FIXMUL(___GLO__23__23_bignum_2e_mdigit_2d_base,___FIX(16L)))
   ___SET_GLO(59,___G__23__23_bignum_2e_mdigit_2d_base_2a_16,___R1)
   ___SET_GLO(389,___G_default_2d_random_2d_source,___FAL)
   ___SET_R0(___LBL(4))
   ___JUMPINT(___SET_NARGS(0),___PRC(4200),___L__23__23_make_2d_random_2d_source_2d_mrg32k3a)

Which is the part of _num.scm that initializes the random number generator, near the end of _num.scm .  So it shouldn’t be too long to single step the code starting at ___L3__20___num to see at which point the wrong pc is being generated.

Can you do this?  Probably single stepping the machine code will give the most useful information.

Marc


> On Apr 6, 2016, at 10:59 PM, Bradley Lucier <lucier at math.purdue.edu> wrote:
> 
> The result:
> 
> heine:~/programs/gambit/gambit> gdb gsi/gsi
> GNU gdb (Ubuntu 7.10-1ubuntu2) 7.10
> Copyright (C) 2015 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> 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 "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from gsi/gsi...done.
> (gdb) run
> Starting program: /home/lucier/programs/gambit/gambit/gsi/gsi 
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> control point   0 in  _kernel
> control point   0 in  _system
> control point   6 in ##load-required-module-structs
> control point   0 in  _num
> control point   0 in ##make-table
> control point   3 in  _num
> *** incorrect ___pc was returned
> 
> 
> It was compiled with ---enable-single-host, so I don’t know what you expected.
> 
> Brad
> 




More information about the Gambit-list mailing list