[parisc-linux] booting problems
Jeffrey A Law
law@cygnus.com
Sat, 12 Jun 1999 00:32:23 -0600
In message <3761F335.ADA76678@thepuffingroup.com>you write:
> This is a multi-part message in MIME format.
> > Then search for $CODE$ in the resulting /tmp/BLAH. We'll work backwards
> from
> > what you find.
>
> The offending files are:
>
> ipl_c.o: file format elf32-hppa
[ ... ]
> 4 $CODE$ 00000210 00000000 00000000 000002b0 2**3
> CONTENTS, ALLOC, LOAD, RELOC, CODE
> 5 $CODE$ 000001f8 00000000 00000000 000004c0 2**3
> CONTENTS, ALLOC, LOAD, RELOC, CODE
> 6 $CODE$ 000003d8 00000000 00000000 000006b8 2**3
> CONTENTS, ALLOC, LOAD, RELOC, CODE
OK. This is actually enough to identify the problem.
This is one of those stupid problems that will go away when we revamp the tools
to do ELF in a more traditional fashion -- in particular dumping all the dumb
HP names for spaces/subspaces and sticking with standard names.
The problem is in the assembler's handling of .nsubspa. It is not honoring the
$CODE$ -> .text translation for that case.
in gas/tc-hppa.c::pa_subspace there should be code like this:
/* If this is an existing subspace, then we want to use the
segment already associated with the subspace.
FIXME NOW! ELF BFD doesn't appear to be ready to deal with
lots of sections. It might be a problem in the PA ELF
code, I do not know yet. For now avoid creating anything
but the "standard" sections for ELF. */
if (create_new)
section = subseg_force_new (ss_name, 0);
else if (ssd)
section = ssd->ssd_seg;
else if (alias)
section = subseg_new (alias, 0);
else if (!alias && USE_ALIASES)
{
as_warn (_("Ignoring subspace decl due to ELF BFD bugs."));
demand_empty_rest_of_line ();
return;
}
else
section = subseg_new (ss_name, 0);
You'll note the FIXME NOW!. It's about 5 years old :( Though it will be
zapped as we drop the $CODE$ nonsense.
Anyway I think you may be able to fix this bug by changing the subseg_force_new
call to look something like:
subseg_force_new (alias ? alias : ss_name, 0);
Though I'm a little confused. I thought y'all were dropping the existing ELF
stuff -- I would strongly recommend it. We're not even planning to keep the
existing elf32-hppa stuff building in gas/binutils as we work on the rewrite.
You're working with a totally dead and unsupported toolchain at this point.
jeff