Before breaking up LC0 into different pieces, move out the variable
that is already place-relative (given that it subtracts 'restart' in
the expression) and so its value does not need to be added to the
runtime address of the LC0 symbol itself.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
                 */
                mov     r0, pc
                cmp     r0, r4
-               ldrcc   r0, LC0+28
+               ldrcc   r0, .Lheadroom
                addcc   r0, r0, pc
                cmpcc   r4, r0
                orrcc   r4, r4, #1              @ remember we skipped cache_on
                .word   _got_start              @ r11
                .word   _got_end                @ ip
                .word   .L_user_stack_end       @ sp
-               .word   _end - restart + 16384 + 1024*1024
                .size   LC0, . - LC0
 
+.Lheadroom:
+               .word   _end - restart + 16384 + 1024*1024
+
 .Linflated_image_size_offset:
                .long   (input_data_end - 4) - .