[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [S.R.E.Turner@statslab.cam.ac.uk: Re: Bug#86356: analog: analog segfaults]

[cross-posted to linuxppc-dev]

On  20 Feb, this message from md@linux.it echoed through cyberspace:
> Background: analog segfaults when using a custom config file.
> The author tried debugging the program on my B50 and replied with this
> message.
> Is gcc known to be buggy for powerpc? I'm running 2.95.2-17 and the
> program has been compiled without optimizations.

No idea whether it _is_ buggy or not. However, the list of arguments to
that function below seems rather long to me, so if it is a bug in gcc,
it might not have been noticed before.

Anyway, one thing to look at might be the fact that not all function
arguments are passed the same way according to the ABI we are using. The
first few are passed in registers, the rest on the stack (IIRC).
However, I don't know exactly how many are passed in registers. But it
would seem that 22 (the arguments coming through OK below) is a bit high
a number...

Any of the gcc gurus around?


> ----- Forwarded message from Stephen Turner <S.R.E.Turner@statslab.cam.ac.uk> -----
> Date: Tue, 20 Feb 2001 14:43:09 +0000 (GMT)
> From: Stephen Turner <S.R.E.Turner@statslab.cam.ac.uk>
> Reply-To: Stephen Turner <sret1@cam.ac.uk>
> Subject: Re: Bug#86356: analog: analog segfaults
> In-Reply-To: <20010220135758.A15988@attila.bofh.it>
> OK, I've discovered what's going on, but I have no idea WHY it's going on.
> The problem comes at line 736 of output.c. That line calls printtree, as
> follows:
> printtree(outf, rep, outstyle, multibyte, tree, requests, date, badp, badn,
>           0, NULL, aliashead, linkhead, baseurl, totr, totp, totb, width,
>           possrightalign, bmult, unit, sepchar, repsepchar, decpt, compsep,
>           rawbytes, cols, colhead, colheadp, gender, html, monthname,
>           dayname, monthlen, daylen, plainmonthlen, plaindaylen, lngstr);
> But by the time we reach printtree, several of the values are wrong.
> Everything is fine up to unit. But sepchar got repsepchar's true value (0),
> repsepchar got decpt's true value ('.'), etc., until plaindaylen got
> lngstr's value (0x100e93c0 = 269390784) and lngstr got a random value.
> As I say, I don't really see how this can have happened. Have you
> encountered anything like this before?
> -- 
> Stephen Turner               http://www.statslab.cam.ac.uk/~sret1/
>   Statistical Laboratory, Wilberforce Road, Cambridge, CB3 0WB, England
>   "Your account can only be used for a single internet session at any one
>    time and for no more than 24 hours in any one day." (NTL terms of use)
> ----- End forwarded message -----
> -- 
> ciao,
> Marco
> --  
> To UNSUBSCRIBE, email to debian-powerpc-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan@cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "

Reply to: