mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-22 07:28:10 +00:00
fix(core): fix invalid symbol for deflated bootloader
[no changelog]
This commit is contained in:
parent
b0dd521c5d
commit
9c0a37717c
@ -374,7 +374,8 @@ tools.embed_compressed_binary(
|
|||||||
'bootloader',
|
'bootloader',
|
||||||
'embed/projects/bootloaders/bootloader.o',
|
'embed/projects/bootloaders/bootloader.o',
|
||||||
f'embed/models/{MODEL_IDENTIFIER}/bootloaders/bootloader_{BOOTLOADER_SUFFIX}.bin',
|
f'embed/models/{MODEL_IDENTIFIER}/bootloaders/bootloader_{BOOTLOADER_SUFFIX}.bin',
|
||||||
'kernel'
|
'kernel',
|
||||||
|
'bootloader',
|
||||||
)
|
)
|
||||||
|
|
||||||
linkerscript_gen = env.Command(
|
linkerscript_gen = env.Command(
|
||||||
|
@ -29,8 +29,8 @@
|
|||||||
#include "uzlib.h"
|
#include "uzlib.h"
|
||||||
|
|
||||||
// symbols from bootloader.bin => bootloader.o
|
// symbols from bootloader.bin => bootloader.o
|
||||||
extern const void _binary_embed_bootloaders_bootloader_bin_deflated_start;
|
extern const void _deflated_bootloader_start;
|
||||||
extern const void _binary_embed_bootloaders_bootloader_bin_deflated_size;
|
extern const void _deflated_bootloader_size;
|
||||||
|
|
||||||
#define CONCAT_NAME_HELPER(prefix, name, suffix) prefix##name##suffix
|
#define CONCAT_NAME_HELPER(prefix, name, suffix) prefix##name##suffix
|
||||||
#define CONCAT_NAME(name, var) CONCAT_NAME_HELPER(BOOTLOADER_, name, var)
|
#define CONCAT_NAME(name, var) CONCAT_NAME_HELPER(BOOTLOADER_, name, var)
|
||||||
@ -99,11 +99,8 @@ void check_and_replace_bootloader(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// replace bootloader with the latest one
|
// replace bootloader with the latest one
|
||||||
const uint32_t *data =
|
const uint32_t *data = (const uint32_t *)&_deflated_bootloader_start;
|
||||||
(const uint32_t
|
const uint32_t len = (const uint32_t)&_deflated_bootloader_size;
|
||||||
*)&_binary_embed_bootloaders_bootloader_bin_deflated_start;
|
|
||||||
const uint32_t len =
|
|
||||||
(const uint32_t)&_binary_embed_bootloaders_bootloader_bin_deflated_size;
|
|
||||||
|
|
||||||
struct uzlib_uncomp decomp = {0};
|
struct uzlib_uncomp decomp = {0};
|
||||||
uint8_t decomp_window[UZLIB_WINDOW_SIZE] = {0};
|
uint8_t decomp_window[UZLIB_WINDOW_SIZE] = {0};
|
||||||
|
@ -85,22 +85,17 @@ def get_bindgen_defines(
|
|||||||
return ",".join(rest_defs)
|
return ",".join(rest_defs)
|
||||||
|
|
||||||
|
|
||||||
def embed_compressed_binary(obj_program, env, section, target_, file, build):
|
def embed_compressed_binary(obj_program, env, section, target_, file, build, symbol):
|
||||||
_in = f"embedded_{section}.bin.deflated"
|
_in = f"embedded_{section}.bin.deflated"
|
||||||
|
|
||||||
def redefine_sym(name):
|
def redefine_sym(suffix):
|
||||||
src = (
|
src = (
|
||||||
f"_binary_build_{build}_"
|
f"_binary_build_{build}_"
|
||||||
+ _in.replace("/", "_").replace(".", "_")
|
+ _in.replace("/", "_").replace(".", "_")
|
||||||
+ "_"
|
+ "_"
|
||||||
+ name
|
+ suffix
|
||||||
)
|
|
||||||
dest = (
|
|
||||||
"_binary_"
|
|
||||||
+ target_.replace("/", "_").replace(".o", "_bin_deflated")
|
|
||||||
+ "_"
|
|
||||||
+ name
|
|
||||||
)
|
)
|
||||||
|
dest = f"_deflated_{symbol}_{suffix}"
|
||||||
return f" --redefine-sym {src}={dest}"
|
return f" --redefine-sym {src}={dest}"
|
||||||
|
|
||||||
def compress_action(target, source, env):
|
def compress_action(target, source, env):
|
||||||
|
Loading…
Reference in New Issue
Block a user