[parisc-linux] Module Relocation Problem
John David Anglin
dave at hiauly1.hia.nrc.ca
Mon Jun 5 20:20:26 MDT 2006
> Module quickcam, symbol qc_proc_init is out of range for PCREL22F relocation
> =46ATAL: Error inserting quickcam (/lib/modules/2.6.16-pa11/misc/quickcam.k=
> o):=20
I believe that this has come up before. The out of range
PCREL22F relocation implies that the module has a "b,l" instruction
(call) whose target can't be reached. The maximum branch distance
for the "b,l" instruction is ~ 8 MB, so the module must be quite
large.
You might explore ways to reduce the modules's (e.g., limit inlining).
You might also try compiling with the -mlong-calls options. This forces
GCC to use the "bve" instruction for calls in PA 2.0 compilations. The
call setup using bve is slightly longer but there are no distance
limitations. There's also a PA 1.x variant using "ble". What's unclear
to me is whether the kernel loader has support for the relocations used
in these sequences.
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