[parisc-linux] Panic on boot in 64 bit 2.6.6-rc1-pa0

John David Anglin dave at hiauly1.hia.nrc.ca
Fri Apr 23 10:57:10 MDT 2004


> It has a .level 2.0w (with the appropriate #ifdefs) at the top.

The .level 2.0w should come before any actual assembly code.  If the
includes define any assembly code this could be a problem.  The assembler
isn't very smart about changing levels.

> Now, if you look at an objdump of the .o, it shows:
> 
> 000000000000205c <syscall_do_resched>:
>     205c:	e8 40 00 00 	b,l 2064 <syscall_do_resched+0x8>,rp
> 			205c: R_PARISC_PCREL17F	schedule
>     2060:	37 dd 3f e1 	ldo -10(sp),ret1
>     2064:	e8 1f 1b ed 	b,l 1e60 <syscall_check_bh>,r0
>     2068:	08 00 02 40 	nop
> 
> I suppose this means gas thinks it has to emit short relocations.

Yes.  The code is using "bl".  It looks as if the assembler is
generating a 17-bit branch (sub-opcode 0) when it sees a "bl"
even when generating PA 2.0w code.  This would appear to be
wrong although I haven't checked what the HP assembler does.
Can you use "b,l" for PA 2.0 code?

Dave
-- 
J. David Anglin                                  dave.anglin at nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


More information about the parisc-linux mailing list