public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] fdt: remove unaligned access in fdt_fixup_ethernet()
@ 2013-05-28  4:01 Stephen Warren
  2013-05-28  4:05 ` Michael Trimarchi
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Stephen Warren @ 2013-05-28  4:01 UTC (permalink / raw)
  To: u-boot

Some ARM compilers may emit code that makes unaligned accesses when
faced with constructs such as:

char mac[16] = "ethaddr";

Replace this with a strcpy() call instead to avoid this. strcpy() is
used here, rather than replacing all usage of the mac variable with the
string itself, since the loop itself sprintf()s to the variable each
iteration, so strcpy() is doing basically the same thing.

Reported-by: Florian Meier
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
---
 common/fdt_support.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/common/fdt_support.c b/common/fdt_support.c
index 812acb4..89e7883 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -454,7 +454,7 @@ void fdt_fixup_ethernet(void *fdt)
 {
 	int node, i, j;
 	char enet[16], *tmp, *end;
-	char mac[16] = "ethaddr";
+	char mac[16];
 	const char *path;
 	unsigned char mac_addr[6];
 
@@ -463,6 +463,7 @@ void fdt_fixup_ethernet(void *fdt)
 		return;
 
 	i = 0;
+	strcpy(mac, "ethaddr");
 	while ((tmp = getenv(mac)) != NULL) {
 		sprintf(enet, "ethernet%d", i);
 		path = fdt_getprop(fdt, node, enet, NULL);
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-06-12  1:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-28  4:01 [U-Boot] [PATCH] fdt: remove unaligned access in fdt_fixup_ethernet() Stephen Warren
2013-05-28  4:05 ` Michael Trimarchi
2013-05-28  4:16   ` Stephen Warren
2013-06-05  3:41 ` Stephen Warren
2013-06-07 18:19 ` [U-Boot] " Tom Rini
2013-06-12  1:55   ` Jerry Van Baren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox