Я использую buildroot-2023.02.7 для создания образа Linux для встроенной системы (на самом деле это эмулятор). Распаковка завершается сбоем после достижения decompress_kernel в файле Arm/boot/compressed/misc.c. Я пытаюсь разобраться в сгенерированной сборке, но она выглядит очень странно. Будем очень признательны за любую информацию о том, что может быть причиной проблемы

void decompress_kernel(длинный без знака output_start, длинный без знака free_mem_ptr_p, беззнаковый длинный free_mem_ptr_end_p, интервал Arch_id) { интервал врет; выходные_данные = (беззнаковый символ *) выходной_старт; free_mem_ptr = free_mem_ptr_p; free_mem_end_ptr = free_mem_ptr_end_p; __machine_arch_type = Arch_id; #ifdef CONFIG_ARCH_EP93XX ep93xx_decomp_setup(); #endif Arch_decomp_setup(); putstr("Распаковка Linux..."); ret = do_decompress(input_data, input_data_end - input_data, выходные_данные, ошибка); если (рет) error("Декомпрессор возвратил ошибку"); еще putstr("готово, ядро загружается.\n"); } Соответствующая сгенерированная сборка, просмотренная из zImage, загруженная по адресу 0x2070'0000:
20700920: b5f0 push {r4, r5, r6, r7, r14} 20700922: 4e27 ldr r6, [pc, #156] @ (0x207009c0) 20700924: 4c27 ldr r4, [pc, #156] @ (0x207009c4) 20700926:447e добавить r6, r15 20700928: 5937 ldr r7, [r6, r4]