Hi Jeff, Sorry for the late reply.
On Aug 13, 2010, at 11:59 AM, Jeff Hemmelgarn wrote: > Alright! > > Thanks for all the help. I was able to track down the problem and have some > changes for marshal.c that I need to get back to the repository. There were > some assumptions about the sizes of types that were broken by going to 64-bit > . Excellent! > I don't know the procedures on this project. Do I need to include tests for > the fix? I am familiar with testunit but I haven't used rspec yet. Where > and how would I include tests if I write them? What documentation is normal > for the trouble ticket? How do I get the changes into the repository? > Anything else I need to know? Feel free to open a ticket on trac, describe the problem and attach your patch there. We will review and merge it once it's good. We currently only use RubySpec as a regression test suite, so if you desire, looking at the pack specs and writing a new one if applicable might be a good idea too. Laurent On Aug 11, 2010, at 6:49 PM, Laurent Sansonetti wrote: > >> Also, when debugging MacRuby it is better to use the version of libmacruby >> in the build directory, because the installer strips symbols during >> installation. From the build directory: >> >> DYLD_LIBRARY_PATH=. gdb --args ./macruby ... >> >> Also, the whole project is compiled with heavy optimizations which makes the >> debugging of certain things harder (inline functions, optimized variables, >> etc.). Sometimes it is better to debug a version of MacRuby with no >> optimization. You can build one using: >> >> rake optz_level=0 macruby >> >> HTH, >> Laurent >> >> On Aug 11, 2010, at 3:28 PM, Thibault Martin-Lagardette wrote: >> >>> Hi, >>> >>> Good to know you're motivated to get into hacking MacRuby :D >>> >>> `rb_marshal_load` is an "API", supposed to be used by extensions for >>> example. >>> If you look in `marshal.c`, you'll see that the "load" method is defined by >>> `marshal_load` (without the rb_ prefix): >>> rb_objc_define_method(*(VALUE *)rb_mMarshal, "load", marshal_load, >>> -1); >>> >>> This means that when a ruby code calls Marshal.load, it will call this >>> method. >>> To sum things up, I think you just need to set a breakpoint to >>> marshal_load, not rb_marshal_load :D >>> >>> Let us know how things work out! >>> -- >>> Thibault Martin-Lagardette >>> >>> >>> >>> On Aug 11, 2010, at 13:33, Jeff Hemmelgarn wrote: >>> >>>> Hello, >>>> >>>> First I want to thank everyone involved in the project for their efforts >>>> in bringing MacRuby to us. I love being able to use GCD with ruby! I >>>> have been on vacation for a week and finally feel like touching a computer >>>> again so I thought I would look into doing some MacRuby development. >>>> >>>> Since I have no experience with llvm and almost none with ObjectiveC, I >>>> decided to pick a low-priority, narrow focus bug to look into. That >>>> should allow me to get used to the environment without going too far into >>>> the weeds. I pretty much randomly chose #502 Marshalling large integers >>>> returns wrong value. >>>> >>>> I have downloaded and built both llvm and the latest code from the git >>>> mirror. >>>> >>>> I have been trying to reproduce the problem with macirb under gdb. I have >>>> some experience with gdb but I am getting confused trying to set a >>>> breakpoint in the Marshal package load function. It looks like MacRuby is >>>> bypassing the globally visible function rb_marshal_load and using >>>> rb_objc_define_method to export a pointer to the file local function >>>> marshal_load. >>>> >>>> The basics of the question is, how do I set a breakpoint in gdb for this >>>> function? Is this problem a result of using llvm? Will I end up needing >>>> to set a generic breakpoint in a dispatch routine with a condition looking >>>> for the selector for the load function? >>>> >>>> Thank you in advance for any help! >>>> >>>> Jeff Hemmelgarn >>>> _______________________________________________ >>>> MacRuby-devel mailing list >>>> [email protected] >>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>> >>> _______________________________________________ >>> MacRuby-devel mailing list >>> [email protected] >>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> _______________________________________________ >> MacRuby-devel mailing list >> [email protected] >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > _______________________________________________ > MacRuby-devel mailing list > [email protected] > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
