* [parisc-linux] ELF32 kernel
@ 2000-03-01 23:35 Paul Bame
2000-03-02 21:37 ` Paul Bame
2000-03-03 22:00 ` Paul Bame
0 siblings, 2 replies; 3+ messages in thread
From: Paul Bame @ 2000-03-01 23:35 UTC (permalink / raw)
To: parisc-linux
It ain't perfect, but the ELF32 kernel booted with an NFS root, ran
sash and fork/exec-ed hellow. Networking didn't work well on a busy
LAN booting on a B180, dunno why, but it worked great on a c360. I
checked in a defconfig per willy's suggestion and all the other changes
are in CVS too on the branch ELF_BRANCH.
There's a problem when I enable CONFIG_PROC_FS where devinet_init()
calls register_sysctl_table() with a ctl_table containing a char*
pointer (for ->procname) containing the value 0x20, which eventually
dies in strlen() at a lower level. The code in devinet_init *may*
be interacting with the __init/__setup stuff we kludged around for SOM.
Maybe a someone who knows this code can take a look at this?
-Paul Bame
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [parisc-linux] ELF32 kernel
2000-03-01 23:35 [parisc-linux] ELF32 kernel Paul Bame
@ 2000-03-02 21:37 ` Paul Bame
2000-03-03 22:00 ` Paul Bame
1 sibling, 0 replies; 3+ messages in thread
From: Paul Bame @ 2000-03-02 21:37 UTC (permalink / raw)
Cc: parisc-linux
= There's a problem when I enable CONFIG_PROC_FS where devinet_init()
= calls register_sysctl_table() with a ctl_table containing a char*
= pointer (for ->procname) containing the value 0x20, which eventually
= dies in strlen() at a lower level.
Actually CONFIG_PROC_FS works, but CONFIG_SYSCTL doesn't, for the
reason above, so I changed defconfig to reflect this.
I tracked the problem down to what appears to be a compiler
bug, in that the devinet_sysctl_table struct in net/ipv4/devinet.c
works well until you try to generate a pointer to the last 'ctl_table'
element inside that struct. This pointer value is bogus, leading to
the misbehavior described above. I can make the problem move around
by inserting fields in the struct, so it appears that gcc can't generate
valid pointers to members past a certain struct size.
This could also be a difficulty for SOM folks who use the compiler
from CVS on puffin.external.hp.com and who configure kernels including
networking.
I'm out of my depth hacking gcc.
-Paul Bame
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [parisc-linux] ELF32 kernel
2000-03-01 23:35 [parisc-linux] ELF32 kernel Paul Bame
2000-03-02 21:37 ` Paul Bame
@ 2000-03-03 22:00 ` Paul Bame
1 sibling, 0 replies; 3+ messages in thread
From: Paul Bame @ 2000-03-03 22:00 UTC (permalink / raw)
Cc: parisc-linux
The latest changes to the main line (SOM) as of this moment have
been folded into the ELF_BRANCH branch. I had a SCSI lock-up
but otherwise things seem to be as healthy for ELF as I've heard
they are for SOM. I won't be around until Tuesday, or possibly
Wednesday, but it seems a great time to move all of us to ELF...
-Paul Bame
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2000-03-03 22:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-03-01 23:35 [parisc-linux] ELF32 kernel Paul Bame
2000-03-02 21:37 ` Paul Bame
2000-03-03 22:00 ` Paul Bame
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox