* crash in atexit()
@ 2001-11-11 15:45 Mark Pilon
2001-11-11 22:49 ` Scott Anderson
0 siblings, 1 reply; 2+ messages in thread
From: Mark Pilon @ 2001-11-11 15:45 UTC (permalink / raw)
To: linuxppc-embedded; +Cc: jure
our story thus far:
I'm attempting to port the development kernel to a custom controller
with a PPC405PM (that's 405GP + FPU). I've built my own toolkit
and have built a small target filesystem w/ SELF (many thanks
Wolfgang).
the kernel boots and I can run sash as an init=/bin/sash ...
the kernel finds the filesystem and sash.
I've gotten beyond taking the first FPU-unavailable exception
by adding what appears necessary.
I'm SEGV'ing in atexit(), because of an apparently hard-coded
null pointer dereference: [ the call to atexit() is made by
__libc_start_main so I think I'm close to running ...]
/* Register FUNC to be executed by `exit'. */
int
atexit (void (*func) (void))
{
return __cxa_atexit ((void (*) (void *)) func, NULL,
&__dso_handle == NULL ? NULL : __dso_handle);
}
which has compiled to:
100004bc <atexit>:
100004bc: 94 21 ff f0 stwu r1,-16(r1)
100004c0: 7c 08 02 a6 mflr r0
100004c4: 90 01 00 14 stw r0,20(r1)
100004c8: 3d 20 00 00 lis r9,0
100004cc: 38 09 00 00 addi r0,r9,0
100004d0: 81 69 00 00 lwz r11,0(r9)
.
.
.
I suspect that this is centered around __dso_handle, but don't
know what this means.
I also suspect this has been covered before, but I've searched and
found references to some "atexit patches" but nothing specific --
If I need to patch my glibc where can I go for said patches?
any overview & context would be appreciated,
Mark
--
Mark Pilon
Minolta-QMS
P.O. Box 37
Fallon, MT. 59326-0037
1-406-853-0433
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: crash in atexit()
2001-11-11 15:45 crash in atexit() Mark Pilon
@ 2001-11-11 22:49 ` Scott Anderson
0 siblings, 0 replies; 2+ messages in thread
From: Scott Anderson @ 2001-11-11 22:49 UTC (permalink / raw)
To: Mark Pilon; +Cc: linuxppc-embedded, jure
Mark Pilon wrote:
> I'm SEGV'ing in atexit(), because of an apparently hard-coded
> null pointer dereference: [ the call to atexit() is made by
> __libc_start_main so I think I'm close to running ...]
This may be totally irrelevant, but I thought I would mention it just in
case it is useful. At one point, I had to chase down a bug due to the
zero-page getting written to. That bug was in early 405 kernels and was
due to a documentation defect in the 405GP documentation for the ZPR
register. You might want to take a look and make sure that your
zero-page is still all zeroes.
Scott Anderson
scott_anderson@mvista.com MontaVista Software Inc.
(408)328-9214 1237 East Arques Ave.
http://www.mvista.com Sunnyvale, CA 94085
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-11-11 22:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-11-11 15:45 crash in atexit() Mark Pilon
2001-11-11 22:49 ` Scott Anderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).