ARM: decompressor: move headroom variable out of LC0

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>
This commit is contained in:
Ard Biesheuvel 2020-04-13 18:21:31 +02:00
parent a780e485b5
commit 691cbe5ba5
1 changed files with 4 additions and 2 deletions

View File

@ -287,7 +287,7 @@ not_angel:
*/
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
@ -664,9 +664,11 @@ LC0: .word LC0 @ r1
.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) - .