Hi Alan, On Fri, 6 Jul 2012 10:27:10 +0930 Alan Modra wrote: > > On Fri, Jul 06, 2012 at 10:21:51AM +1000, Stephen Rothwell wrote: > > which have now been fixed. So would a simple patch that puts the > > _savegpr etc functions in their own section (defined how?) fix this for > > us? > > Ah, the kernel provides its own save/restore functions, and these get > mashed into a .text containing normal functions with toc references by > ld -r. Well, you could stop using ld -r. Otherwise, try > > .section ".text.save.restore","ax",@progbits OK, so that helped a lot. Now I get this: drivers/built-in.o: In function `.idt77252_init_ubr.isra.10': idt77252.c:(.text+0x1ff801c): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o drivers/built-in.o: In function `.idt77252_init_tx': idt77252.c:(.text+0x1ff8258): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o drivers/built-in.o: In function `.idt77252_change_qos': idt77252.c:(.text+0x1ff86a0): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o drivers/built-in.o: In function `.idt77252_open': idt77252.c:(.text+0x1ff898c): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o idt77252.c:(.text+0x1ff8f4c): relocation truncated to fit: R_PPC64_REL24 against symbol `_restgpr0_22' defined in .text.save.restore section in arch/powerpc/lib/built-in.o drivers/built-in.o: In function `.next_string': solos-pci.c:(.text+0x1ff8f54): relocation truncated to fit: R_PPC64_REL24 against symbol `_savegpr0_29' defined in .text.save.restore section in arch/powerpc/lib/built-in.o solos-pci.c:(.text+0x1ff8f64): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o drivers/built-in.o: In function `.print_buffer': solos-pci.c:(.text+0x1ff904c): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o drivers/built-in.o: In function `.atm_remove': solos-pci.c:(.text+0x1ff91d4): relocation truncated to fit: R_PPC64_REL24 against symbol `._mcount' defined in .text section in arch/powerpc/kernel/entry_64.o solos-pci.c:(.text+0x1ff923c): relocation truncated to fit: R_PPC64_REL24 against symbol `.sysfs_remove_group' defined in .text section in fs/built-in.o drivers/built-in.o: In function `.fpga_tx': solos-pci.c:(.text+0x1ff950c): additional relocation overflows omitted from the output I assume at this point, we are just too large. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au