All of lore.kernel.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.nl \
    --cc=jason.mcmullan@gmail.com \
    --cc=joakim.tjernlund@lumentis.se \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=yuli@arabellasw.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.