i.mx6 quad
Gcc build kernel in -O1, module's cflag use -O1
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
[ 0.000000] lowmem : 0x80000000 - 0xc0000000 (1024 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x810a397c (17007 kB)
[ 0.000000] .init : 0x810a4000 - 0x811396c0 ( 598 kB)
[ 0.000000] .data : 0x8113a000 - 0x811cc9e0 ( 587 kB)
[ 0.000000] .bss : 0x811cc9e0 - 0x8128af90 ( 762 kB)
8124cf3c b rfkill_sw_pending
8124cf40 b rfkill_sw_state
8124cf44 b rfkill_last_scheduled
8124cf48 b rfkill_master_switch_op
8124cf4c b empty.34094
8124cf70 b net_header
8124cf74 B dns_resolver_cache
8124cf78 B dns_resolver_debug
8124cf7c b klist_remove_lock
8124cf80 A __bss_stop
8124cf80 A _end
run all good
///////////////////////////////////////////////////////////////////////////////////////////
Gcc build kernel in -O0, module's cflag use -O1
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
[ 0.000000] lowmem : 0x80000000 - 0xc0000000 (1024 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x81b47e38 (27904 kB)
[ 0.000000] .init : 0x81b48000 - 0x81c2f6c0 ( 926 kB)
[ 0.000000] .data : 0x81c30000 - 0x81cc75e0 ( 606 kB)
[ 0.000000] .bss : 0x81cc75e0 - 0x81d865fc ( 765 kB)
.
.
.
[ 14.173801] compat: section 2 reloc 4 sym 'genl_unregister_family': relocation 28 out of range (0x7f0000b8 -> 0x811414e4)
the .text become larger
how do i solve this problem relocation 28 out of range
Hi jesse
this may be related with branch instructions in modules having a limited
range. You could rearrange the placement of some sections within the kernel
image to eliminate the problem.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
thanks... but how to rearrange~~~?
my compat section in the /hardware not in the kernel_imx
modify vmlinux.lds.S ???
or
modify the directory build to another place like kernel_imx/drivers?
--> open another question board -> Re: gcc -O0 relocation 28 out of range