I did a little more experimenting and have simplified the reproduction. The following change makes the problem go away:
##########################################
diff --git a/cpu/omap3/sys_info.c b/cpu/omap3/sys_info.c
index 0d592e9..4a172a8 100644
--- a/cpu/omap3/sys_info.c
+++ b/cpu/omap3/sys_info.c
@@ -246,6 +246,8 @@ u32 get_sysboot_value(void)
*/
void get_sys_clkin_sel(u32 osc_clk, u32 *sys_clkin_sel)
{
+ static int andy_var;
+ andy_var++;
if (osc_clk == S38_4M) *sys_clkin_sel = 4;
else if (osc_clk == S26M)
##########################################
I don't really have any experience looking at dis assemblies, but nothing seems obviously wrong to me.
I've attached the two dis assemblies for reference.
I did a little more experimenting and have simplified the reproduction. The following change makes the problem go away: ####### ####### ####### ####### ####### sys_info. c b/cpu/omap3/ sys_info. c sys_info. c sys_info. c value(void) clkin_sel( u32 osc_clk, u32 *sys_clkin_sel)
*sys_ clkin_sel = 4; ####### ####### ####### ####### #######
#######
diff --git a/cpu/omap3/
index 0d592e9..4a172a8 100644
--- a/cpu/omap3/
+++ b/cpu/omap3/
@@ -246,6 +246,8 @@ u32 get_sysboot_
*/
void get_sys_
{
+ static int andy_var;
+ andy_var++;
if (osc_clk == S38_4M)
else if (osc_clk == S26M)
#######
I don't really have any experience looking at dis assemblies, but nothing seems obviously wrong to me.
I've attached the two dis assemblies for reference.