From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Wed, 11 Nov 2015 21:33:28 +0100 Subject: [U-Boot] [PATCH] ARM: crt0: Pass malloc base address In-Reply-To: <1447273397-22833-1-git-send-email-festevam@gmail.com> References: <1447273397-22833-1-git-send-email-festevam@gmail.com> Message-ID: <20151111213328.134763ed@lilith> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Fabio, On Wed, 11 Nov 2015 18:23:17 -0200, Fabio Estevam wrote: > From: Fabio Estevam > > Commit 5ba534d247d418 ("arm: Switch 32-bit ARM to using generic global_data > setup") causes malloc() to fail in SPL. > > The reason is that the GD_MALLOC_BASE is not passed anymore. This is the explanation of the SPL fail, but not the /cause/ of it. IOW, why is GD_MALLOC_BASE not passed any more, and what function or routine is it not passed any more to? > Restore the code that passes malloc base so that we can have > malloc working in SPL code again. > > [...] > +#if defined(CONFIG_SYS_MALLOC_F_LEN) > + sub sp, sp, #CONFIG_SYS_MALLOC_F_LEN > + str sp, [r9, #GD_MALLOC_BASE] > +#endif NAK, as this only papers over the actual issue. Board_init_f_mem should have set the malloc base in GD. Therefore, rather than doing it again later, we must determine why it was not properly done earlier.11111 Can you give me the toolchain version, board name and commit ID that I could use to reproduce the *faulty* build and check the generated code? Amicalement, -- Albert.