mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-05-19 07:00:33 -04:00
Disable LTO for external apps (#1886)
* Disable lto for external apps only * Modified "shared external code" checks
This commit is contained in:
parent
918ec0574f
commit
2f48fc2ef9
4 changed files with 7 additions and 6 deletions
|
@ -52,7 +52,7 @@ set(USE_LINK_GC yes)
|
|||
# Linker extra options here.
|
||||
set(USE_LDOPT)
|
||||
|
||||
# Enable this if you want link time optimizations (LTO)
|
||||
# Enable this if you want link time optimizations (LTO) - this flag affects chibios only
|
||||
set(USE_LTO no)
|
||||
|
||||
# If enabled, this option allows to compile the application in THUMB mode.
|
||||
|
@ -492,6 +492,7 @@ add_custom_command(
|
|||
)
|
||||
|
||||
add_executable(${PROJECT_NAME}.elf ${CSRC} ${CPPSRC} ${ASMSRC})
|
||||
set_source_files_properties(${EXTCPPSRC} PROPERTIES COMPILE_FLAGS -fno-lto)
|
||||
set_target_properties(${PROJECT_NAME}.elf PROPERTIES LINK_DEPENDS ${LDSCRIPT})
|
||||
add_definitions(${DEFS})
|
||||
include_directories(. ${INCDIR})
|
||||
|
|
|
@ -49,5 +49,5 @@ for i in range(0, len(image), 4):
|
|||
snippet = image[i:i+4]
|
||||
val = int.from_bytes(snippet, byteorder='little')
|
||||
offset = val & 0xFFFF
|
||||
if (val >= external_apps_address_start) and (val < external_apps_address_end) and ((val & 0xFFFF) < maximum_application_size) and ((val & 0x3)==0):
|
||||
if (val >= external_apps_address_start) and (val < external_apps_address_end) and ((val & 0xFFFF) < maximum_application_size):
|
||||
print ("External code address", hex(val),"at offset", hex(i),"in", sys.argv[1])
|
||||
|
|
|
@ -76,7 +76,7 @@ def patch_image(path, image_data, search_address, replace_address):
|
|||
external_application_image += new_snippet
|
||||
else:
|
||||
external_application_image += snippet
|
||||
if (val >= external_apps_address_start) and (val < external_apps_address_end) and ((val & 0xFFFF) < maximum_application_size) and ((val & 0x3)==0):
|
||||
if (val >= external_apps_address_start) and (val < external_apps_address_end) and ((val & 0xFFFF) < maximum_application_size):
|
||||
print ("WARNING: External code address", hex(val), "at offset", hex(x*4), "in", path)
|
||||
|
||||
return external_application_image
|
||||
|
|
|
@ -91,7 +91,7 @@ for i in range(0, len(spi_image), 4):
|
|||
snippet = spi_image[i:i+4]
|
||||
val = int.from_bytes(snippet, byteorder='little')
|
||||
checksum += val
|
||||
if (val >= external_apps_address_start) and (val < external_apps_address_end) and ((val & 0xFFFF) < maximum_application_size) and ((val & 0x3)==0):
|
||||
if (val >= external_apps_address_start) and (val < external_apps_address_end) and ((val & 0xFFFF) < maximum_application_size):
|
||||
print ("WARNING: External code address", hex(val), "at offset", hex(i), "in", sys.argv[3])
|
||||
|
||||
final_checksum = 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue