From: "M. Edward (Ed) Borasky" Date: 2007-06-02T11:18:05+09:00 Subject: Re: $2000 USD Reward for help fixing Segmentation Fault in GC Brent Roman wrote: > Daz, > > In our labs, we have tried controlling the instrument with an x86 > laptop running a reasonably recent 2.6 Linux kernel. > All our "custom hardware" interfaces to the host via three RS-232 serial > ports, so replacing the ARM with an X86 box is quite straightforward > in the lab (where we have the required power and space for it). > But, alas, the same Segfault occured in this configuration as well. > > So, I believe the problem is unlikely to be particular to the ARM > gcc compiler or its optimization settings. > However, I did try reducing the optimization from > -O2 to -Os. -Os is the optimization level used to compile > ARM Linux kernels. Needless to say, this had no effect. > > What optimization level would you suggest? > -O1 or -O0 ?! > > Better yet: > Are there specific optimization flag(s) that have proven troublesome > for ruby 1.6.8? > > Note that we're using GCC 3.4.5 for the embedded ARM > (with soft-floats) > > and GCC 3.3.5 or GCC 3.4.4 for our x86 laptops > > - brent > > >> Brent Roman wrote: >> >>> Help! >>> >> Maybe you've tried already but, if you can afford the reduced >> performance, compiling ruby with less optimisation might help >> until a more suitable solution can be found? >> >> daz >> >> >> >> > > Oh ... I missed that -- you're running Ruby 1.6.8? I know 1.8.5 compiles and executes on an ARM cross-development toolchain ("buildroot" for a Gumstix, actually). As far as optimization levels are concerned, -O0 is probably a good idea. O2 and Os are similar levels of optimization, but Os tries to minimize the *space* the code occupies and O2 tries to minimize the run time.