* Re: zeroing of bss segments
@ 2000-04-15 14:50 W4OQM
0 siblings, 0 replies; 10+ messages in thread
From: W4OQM @ 2000-04-15 14:50 UTC (permalink / raw)
To: linuxppc-embedded, kd
Has anything been added to glibc that was written in C++? If so, static
objects may exist that aren't being initialized because constructors aren't
being called.
Charlie
Charles A. Wells
c.wells@ieee.org
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
@ 2000-04-16 16:22 kd
0 siblings, 0 replies; 10+ messages in thread
From: kd @ 2000-04-16 16:22 UTC (permalink / raw)
To: W4OQM; +Cc: linuxppc-embedded
Well, I doupt that the libc is written or will be written in C++.
The couse was fo all my troubles was that I forgot to remove memset.S, i.e.
I did not follow the instructions of the patch well enough.
Thanks, anyway,
K.D.
W4OQM@aol.com
Sent by: To: linuxppc-embedded@lists.linuxppc.org, kd@flaga.is
owner-linuxppc-embedded@lists.li cc:
nuxppc.org Subject: Re: zeroing of bss segments
15.04.2000 14:50
Has anything been added to glibc that was written in C++? If so, static
objects may exist that aren't being initialized because constructors aren't
being called.
Charlie
Charles A. Wells
c.wells@ieee.org
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: zeroing of bss segments
@ 2000-04-16 16:19 kd
2000-04-24 16:17 ` Pavel Roskin
0 siblings, 1 reply; 10+ messages in thread
From: kd @ 2000-04-16 16:19 UTC (permalink / raw)
To: Marcus Sundberg; +Cc: linuxppc-embedded
Duhhhhh,
I forgot to remove th memset.S file from sysdeps/powerpc....
That was causing me all the headache. Thanks for reminding me, before I
reimplemented binfmt_elf.c in the kernel 8-)
Thanks again!
K.D.
Marcus Sundberg wrote:
>kd@flaga.is writes:
>
>> Well if you are talking about floating point patch and the cache line
size
>> patch then I have them applied.
>> Are there any other patched floating around that are necessay for the
>> mpc823?
>
>No, I was referring to the cache line size patch (including removing
>memset.S) as your problem sounded like what one can experience
>without it. No idea then.
>
>//Marcus
--
When someting is not working reread the instructions......
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
2000-04-16 16:19 kd
@ 2000-04-24 16:17 ` Pavel Roskin
2000-04-25 9:03 ` Marcus Sundberg
0 siblings, 1 reply; 10+ messages in thread
From: Pavel Roskin @ 2000-04-24 16:17 UTC (permalink / raw)
To: kd; +Cc: Marcus Sundberg, linuxppc-embedded
Hello!
> I forgot to remove the memset.S file from sysdeps/powerpc....
I believe we should rewrite memset.S in a 8xx-safe way rather than remove
it. Patches are usually more visible than instructions to remove
something.
Besides, future versions of Glibc could apply that patch permanently.
Portability is a strong argument for GNU developers.
Anybody?
Pavel Roskin
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
2000-04-24 16:17 ` Pavel Roskin
@ 2000-04-25 9:03 ` Marcus Sundberg
0 siblings, 0 replies; 10+ messages in thread
From: Marcus Sundberg @ 2000-04-25 9:03 UTC (permalink / raw)
To: Pavel Roskin; +Cc: kd, linuxppc-embedded
Pavel Roskin <pavel_roskin@geocities.com> writes:
> Hello!
>
> > I forgot to remove the memset.S file from sysdeps/powerpc....
>
> I believe we should rewrite memset.S in a 8xx-safe way rather than remove
> it. Patches are usually more visible than instructions to remove
> something.
>
> Besides, future versions of Glibc could apply that patch permanently.
> Portability is a strong argument for GNU developers.
The problem has been to find out the cache line size at runtime, as
the Mac users probably don't wan't memset() performance halfed.
Geoff Keating suggested the following simple way to check for cache
line size:
and what we want to do is insert something like this in place of the
first 'dcbz':
stb r7,31(r6)
dcbz 0,r6
lbz r10,31(r6)
cmplw cr0,r10,r7
bne cr0,(somewhere)
I'll try to get time to look at this after this week.
//Marcus
--
Signature under construction, please come back later.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
@ 2000-04-14 16:20 kd
2000-04-14 17:10 ` Marcus Sundberg
0 siblings, 1 reply; 10+ messages in thread
From: kd @ 2000-04-14 16:20 UTC (permalink / raw)
To: Marcus Sundberg; +Cc: linuxppc-embedded
Well if you are talking about floating point patch and the cache line size
patch then I have them applied.
Are there any other patched floating around that are necessay for the
mpc823?
K.D.
Marcus Sundberq wrote
> Are you sure you have patched your glibc correctly for 8xx?
>
>//Marcus
>--
>Signature under construction, please come back later.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
2000-04-14 16:20 kd
@ 2000-04-14 17:10 ` Marcus Sundberg
2000-04-17 3:46 ` Graham Stoney
0 siblings, 1 reply; 10+ messages in thread
From: Marcus Sundberg @ 2000-04-14 17:10 UTC (permalink / raw)
To: kd; +Cc: linuxppc-embedded
kd@flaga.is writes:
> Well if you are talking about floating point patch and the cache line size
> patch then I have them applied.
> Are there any other patched floating around that are necessay for the
> mpc823?
No, I was referring to the cache line size patch (including removing
memset.S) as your problem sounded like what one can experience
without it. No idea then.
//Marcus
--
Signature under construction, please come back later.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
2000-04-14 17:10 ` Marcus Sundberg
@ 2000-04-17 3:46 ` Graham Stoney
0 siblings, 0 replies; 10+ messages in thread
From: Graham Stoney @ 2000-04-17 3:46 UTC (permalink / raw)
To: Marcus Sundberg; +Cc: kd, linuxppc-embedded
Marcus Sundberg writes:
> No, I was referring to the cache line size patch (including removing
> memset.S) as your problem sounded like what one can experience
> without it. No idea then.
I've been tripped up by this too; upgraded my glibc and applied the patches,
but forgot to nuke memset.S. Is anyone working towards getting a proper fix
for this into the mainline glibc?
Regards,
Graham
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* zeroing of bss segments
@ 2000-04-14 16:00 kd
2000-04-14 16:05 ` Marcus Sundberg
0 siblings, 1 reply; 10+ messages in thread
From: kd @ 2000-04-14 16:00 UTC (permalink / raw)
To: linuxppc-embedded
Hi,
It seems that many of the problems that I am seeing on our mpc823 board is
related to uninitialized static variables in the glibc library. What lead
my to this conclusion is that many of the programs are segfaulting and
always in the glibc library.
Tracking down the individual functions, such as gethostbyname and the
sunrpc functions and explicitly setting static pointers to NULL in the
library code cured many of the segfaults.
I asked about this on the glibc mailing lists (actully I sent some patch)
and they replied that the kernel should clear all static variables in the
bss segment of the executable before runnning it.
The funny thing is that if I write a small program that uses static
variables, they are all zeroed out . But the static variables in the
library seem to be in some uninitialized state (at least some of them).
I am in the process of trying to trace me thought the binfmt_elf.c file in
the kernel, but I am not shure how things are supposed to work. Should I be
looking at some specific function that does the cleaning of the bss segment
or is it a "distributed" job between many functions? E.G. should a do_mmap
() call return a zeroed out memory segment?
Should I perhaps be looking at the linker? Is the linker maybe putting
variables in wrong segments?
I am kind of lost here so all pointers are welcome.
Kernel 2.2.13
Glibc 2.1.3
gcc 2.95.2
Applications are dinamically linked
K.D.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: zeroing of bss segments
2000-04-14 16:00 kd
@ 2000-04-14 16:05 ` Marcus Sundberg
0 siblings, 0 replies; 10+ messages in thread
From: Marcus Sundberg @ 2000-04-14 16:05 UTC (permalink / raw)
To: kd; +Cc: linuxppc-embedded
kd@flaga.is writes:
> It seems that many of the problems that I am seeing on our mpc823 board is
> related to uninitialized static variables in the glibc library. What lead
> my to this conclusion is that many of the programs are segfaulting and
> always in the glibc library.
> Tracking down the individual functions, such as gethostbyname and the
> sunrpc functions and explicitly setting static pointers to NULL in the
> library code cured many of the segfaults.
Are you sure you have patched your glibc correctly for 8xx?
//Marcus
--
Signature under construction, please come back later.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2000-04-25 9:03 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-04-15 14:50 zeroing of bss segments W4OQM
-- strict thread matches above, loose matches on Subject: below --
2000-04-16 16:22 kd
2000-04-16 16:19 kd
2000-04-24 16:17 ` Pavel Roskin
2000-04-25 9:03 ` Marcus Sundberg
2000-04-14 16:20 kd
2000-04-14 17:10 ` Marcus Sundberg
2000-04-17 3:46 ` Graham Stoney
2000-04-14 16:00 kd
2000-04-14 16:05 ` Marcus Sundberg
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).