how do i solve this problem relocation 28 out of range i.mx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

how do i solve this problem relocation 28 out of range i.mx6

1,079 Views
fatalfeel
Contributor V

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

Labels (3)
0 Kudos
2 Replies

729 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

729 Views
fatalfeel
Contributor V

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

0 Kudos