diff options
-rw-r--r-- | src/stm/altos-application.ld | 12 | ||||
-rw-r--r-- | src/stm/altos-loader.ld | 11 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/stm/altos-application.ld b/src/stm/altos-application.ld index 5bdfcd05..c94c06b8 100644 --- a/src/stm/altos-application.ld +++ b/src/stm/altos-application.ld @@ -35,9 +35,19 @@ SECTIONS { . = ORIGIN(rom) + 0x100; + + /* Ick. What I want is to specify the + * addresses of some global constants so + * that I can find them across versions + * of the application. I can't figure out + * how to make gnu ld do that, so instead + * we just load the two files that include + * these defines in the right order here and + * expect things to 'just work'. Don't change + * the contents of those files, ok? + */ ao_romconfig.o(.romconfig*) ao_product.o(.romconfig*) - *(.text*) /* Executable code */ *(.rodata*) /* Constants */ diff --git a/src/stm/altos-loader.ld b/src/stm/altos-loader.ld index 7184b96c..14b45351 100644 --- a/src/stm/altos-loader.ld +++ b/src/stm/altos-loader.ld @@ -35,9 +35,18 @@ SECTIONS { . = ORIGIN(rom) + 0x100; + /* Ick. What I want is to specify the + * addresses of some global constants so + * that I can find them across versions + * of the application. I can't figure out + * how to make gnu ld do that, so instead + * we just load the two files that include + * these defines in the right order here and + * expect things to 'just work'. Don't change + * the contents of those files, ok? + */ ao_romconfig.o(.romconfig*) ao_product.o(.romconfig*) - *(.text) /* Executable code */ *(.rodata) /* Constants */ |