
On Mon, Feb 12, 2018 at 12:48:02PM -0800, Max Filippov wrote:
Hello,
On Tue, Jan 30, 2018 at 7:23 AM, Alexey Brodkin Alexey.Brodkin@synopsys.com wrote:
CONFIG_SYS_TEXT_BASE must be set anyways and then it is used in many places in the same Makefile without any checks
Why? xtensa doesn't use any of it.
On Mon, Feb 12, 2018 at 6:23 AM, Tom Rini trini@konsulko.com wrote:
I'm largely ok with the above, but:
- For Xtensa (Max?), CONFIG_SYS_TEXT_ADDR needs to be renamed to CONFIG_SYS_TEXT_BASE there
For xtensa that address is defined as an expression, like (CONFIG_SYS_MEMORY_TOP - CONFIG_SYS_MONITOR_LEN), and for a single board it may vary with the CPU core on that board. If I just do this replacement then linking fails because of this symbolic definition:
xtensa-dc233c-elf-ld.bfd --gc-sections -Bstatic --no-dynamic-linker -Ttext "(CONFIG_SYS_MEMORY_TOP - CONFIG_SYS_MONITOR_LEN)" ... xtensa-dc233c-elf-ld.bfd: invalid hex number `(CONFIG_SYS_MEMORY_TOP
- CONFIG_SYS_MONITOR_LEN)'
OK. But are those also really dynamic values? SYS_MEMORY_TOP, SYS_MONITOR_LEN and SYS_TEXT_ADDR need to be converted to Kconfig, or removed from CONFIG namespace, whatever makes the most sense. If the notion of CONFIG_SYS_TEXT_BASE is just pointless to Xtensa, we add them to the ifneq(...,) test for the change Alexey is doing. Thanks!