Когда я смотрю через источник U-Boot код, я обнаружил, что она проходит через глобальные данные r9 регистр как этотПочему u-boot может помещать глобальный адрес данных в регистр r9?
register volatile gd_t *gd asm ("r9")
Итак, я любопытно, как же U-Boot обеспечить дополнительные коды не будут использовать r9 регистрирует и повреждает глобальные данные. Есть ли опции, чтобы сообщить компилятору не использовать специальный регистр?
Стоит также отметить, что раньше он был r8 и все еще находится в некоторых ветвях поставщиков: http://git.denx.de/?p=u-boot.git;a=commitdiff;h=fe1378a961e508b31b1f29a2bb08ba1dac063155 – unixsmurf