public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Theo Gjaltema <gjalt007@chello•nl>
To: Yuli Barcohen <yuli@arabellasw•com>
Cc: Joakim Tjernlund <joakim.tjernlund@lumentis•se>,
	Jason McMullan <jason.mcmullan@gmail•com>,
	linux-ppc-embedded <linuxppc-embedded@ozlabs•org>
Subject: Re: mpc8xx and ld.so problem
Date: Wed, 13 Jul 2005 17:41:15 +0200	[thread overview]
Message-ID: <42D5361B.2070402@chello.nl> (raw)
In-Reply-To: <17104.52971.2458.935609@astp0002.localdomain>

Hi,

It appeard that on my mpc862 target I had also this problem. I am using
ELDK3.1.1 which includes a 2.4.25 kernel.
The symptoms however were:
    Large application (20MB c++, mostly shared-libs) crashes (sigseg) at
startup BEFORE main() is called.
    Attempts to debug the application also fail: the debugger crashes
also (sigseg).
I didn't change the C-lib, I took the 2.4.30/arch/ppc/kernel/head_8xx.S
file and copied this over the 2.4.25 head_8xx.S file.
In the 2.4.30 version there is a piece of code mentioning the dcbX
instruction problems.

Has anyone an idea why only this large application failed? busybox_1.0
and more applications work fine.
system is a: mcp862/32Mb SDRAM started from u-boot 0.4.1,
kernel enhanced with atm/utopia driver.

This driver causes the CPM sometimes to hang when performing a memset,
can this be caused by the same problem?
(CPM stops responding, console buffers are not flused anymore and
kernel stops waiting for buffers)

Greetings,
   Theo Gjaltema



Yuli Barcohen schreef:

>>>>>>Marcelo Tosatti writes:
>>>>>>            
>>>>>>
>
>    Yuli> [...deleted...]
>
>    Jason> Ha. Funny. The glibc powerpc maintainer doesn't want any
>    Jason> embedded fixes in the mainline. Last I checked, that was for
>    Jason> 'the tools vendors' to fix.
>
>    Jason> "We won't work around processor bugs" is their philosophy.
>
>    Yuli> [...deleted...]
>
>    Yuli> I investigated the problem a bit when I had trouble with a
>    Yuli> self-compiled glibc a year or so ago. IIRC, I found bug in the
>    Yuli> memset code, not in the chip. The code was just wrong for
>    Yuli> cache line sizes not equal to 32. So memset.S is good for 60x
>    Yuli> series (PQII included) but for 8xx it fails.
>
>    Marcelo> I suppose you didnt actually use dcbz for userspace memset
>    Marcelo> on 8xx?
>
>Standard glibc did. After the fix, it doesn't do it any more on our
>systems.
>
>    Yuli> We use dcbX instructions in some kernel drivers and since we
>    Yuli> never had any problems with those drivers I'm a bit surprised
>    Yuli> to hear that all 8xx chips have got that bug.
>
>    Marcelo> The problem is that the DAR register is correctly unset (it
>    Marcelo> comes as NULL IIRC) on pagefaults for the dcbz
>    Marcelo> instruction. The dcbz instructions you issue are probably
>    Marcelo> always works on kernel addresses whose pagetables are
>    Marcelo> present?
>
>It's not dcbz, it's dcbi/dcbf. And yes, they work on kernel addresses. I
>never investigated if the page tables are present or not because there
>were no problems.
>
>    Marcelo> Joakim has developed a workaround for the
>    Marcelo> problem... although I promised him several times to test it
>    Marcelo> I never managed to get dcbz to work on the kernel copying
>    Marcelo> functions. :(
>
>[...patch deleted...]
>
>Well, if I manage to find time, I'll try it. No timetables though. I'm
>not sure if using dcbz in user-space memset is such a great
>optimisation. It well can be an example of over-engineering.
>
>  
>

  reply	other threads:[~2005-07-13 16:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <42C1AAC1.4060702@gmail.com>
     [not found] ` <20050629085913.GA2153@logos.cnet>
     [not found]   ` <faba7798050630071347d4ad63@mail.gmail.com>
2005-07-01  9:44     ` mpc8xx and ld.so problem Marcelo Tosatti
2005-07-01 14:55       ` Jason McMullan
2005-07-01 10:17         ` Marcelo Tosatti
2005-07-01 18:56           ` Jason McMullan
2005-07-01 14:42             ` Marcelo Tosatti
2005-07-04  8:22             ` Yuli Barcohen
2005-07-05 19:53               ` Tom Rini
2005-07-06  8:58                 ` Yuli Barcohen
2005-07-08  0:36               ` Marcelo Tosatti
2005-07-10  7:31                 ` Yuli Barcohen
2005-07-13 15:41                   ` Theo Gjaltema [this message]
2005-07-13 20:32                     ` Wolfgang Denk
2005-07-13 21:32                       ` Theo Gjaltema
2005-07-13 23:11                         ` Wolfgang Denk
2005-07-14  5:44                     ` Anton Wöllert
2005-07-14  8:23           ` ptrace on linux 2.6.12 causes oops Anton Wöllert
2005-07-14 13:31             ` Kumar Gala
2005-07-14 11:20               ` Marcelo Tosatti
     [not found]               ` <faba77980507140809ad923db@mail.gmail.com>
2005-07-14 15:11                 ` Anton Wöllert
2005-07-14 20:27             ` aris
2005-07-14 11:19               ` Marcelo Tosatti
2005-07-15  9:42                 ` Anton Wöllert
2005-07-15  5:03                   ` Marcelo Tosatti
2005-07-03 16:01       ` mpc8xx and ld.so problem Anton Wöllert
2005-07-01 18:40 Tjernlund
  -- strict thread matches above, loose matches on Subject: below --
2005-07-14 13:32 Joakim Tjernlund

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42D5361B.2070402@chello.nl \
    --to=gjalt007@chello$(echo .)nl \
    --cc=jason.mcmullan@gmail$(echo .)com \
    --cc=joakim.tjernlund@lumentis$(echo .)se \
    --cc=linuxppc-embedded@ozlabs$(echo .)org \
    --cc=yuli@arabellasw$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox