[PATCH 0/2] arm: armv7: fix a bug that prevents CONFIG_BLOBLIST and CONFIG_POSITION_INDEPENDENT to be enabled together

Yang Xiwen forbidden405 at outlook.com
Mon Jun 16 18:29:20 CEST 2025


On 6/4/2025 8:31 PM, Mikko Rapeli wrote:
> Hi,
>
> On Mon, Jun 02, 2025 at 12:37:10PM +0200, Quentin Schulz wrote:
>> +Cc Mikko Rapeli who's attempting to patch this in OpenEmbedded-Core
>>
>> On 5/31/25 3:10 PM, Yang Xiwen via B4 Relay wrote:
>>> [You don't often get email from devnull+forbidden405.outlook.com at kernel.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>>
>>> This patchset also enables CONFIG_POSITION_INDEPENDENT for qemu boards
>>> to avoid similar issues to happen again in the future.
>>>
>>> Signed-off-by: Yang Xiwen <forbidden405 at outlook.com>
>>> ---
>>> Yang Xiwen (2):
>>>         arm: armv7: restore section to .text after saved_args
>>>         arm: qemu: Add imply CONFIG_POSITION_INDEPENDENT
>>>
>>>    arch/arm/Kconfig           | 1 +
>>>    arch/arm/cpu/armv7/start.S | 2 ++
>>>    2 files changed, 3 insertions(+)
>>> ---
>>> base-commit: 93905ab6e7564089f5d7b703b660464d675e5ab0
>>> change-id: 20250529-pie_blob_fix-a61229c8fcc6
> I tried adding this series and similar armv8 change to u-boot master
> branch at commit fdc0dcbb2c84c4c but this does not fix the boot hang
> with qemu kvm. Patch applied was:
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 79f60eb3f349..6ff3f2750ea8 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1091,6 +1091,7 @@ config ARCH_QEMU
>          imply USB_XHCI_PCI
>          imply USB_KEYBOARD
>          imply CMD_USB
> +       imply POSITION_INDEPENDENT
>   
>   config ARCH_RENESAS
>          bool "Renesas ARM SoCs"
> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
> index 959251957de4..833486817f84 100644
> --- a/arch/arm/cpu/armv7/start.S
> +++ b/arch/arm/cpu/armv7/start.S
> @@ -182,6 +182,8 @@ saved_args:
>          .word 0
>          .endr
>   END(saved_args)
> +
> +       .section .text
>   #endif
>   
>   #ifdef CONFIG_ARMV7_LPAE
> diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
> index 829a620faeb6..1d0b59889e78 100644
> --- a/arch/arm/cpu/armv8/start.S
> +++ b/arch/arm/cpu/armv8/start.S
> @@ -409,4 +409,6 @@ saved_args:
>          .dword 0
>          .endr
>   END(saved_args)
> +
> +       .section .text
>   #endif
>
>
> Cheers,
>
> -Mikko

Sorry for the delay. Have you tried debugging it with gdb? Try to run 
qemu with -sS, then attach gdb to it to see what's wrong there.

-- 
Regards,
Yang Xiwen



More information about the U-Boot mailing list