All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr)
@ 2014-04-18 10:09 Masahiro Yamada
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 1/5] rand: do not surround function declarations by #ifdef Masahiro Yamada
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Masahiro Yamada @ 2014-04-18 10:09 UTC (permalink / raw)
  To: u-boot


The main aim of this series is to prohibit using __DATE__ and __TIME__.

Using __DATE__, __TIME__ in source files would make the build
non-deterministic.

We should be able to generate the exactly same binary if the source
code is the same.
This is necessary, for example, I sometimes want to confirm my changes
to the build system still produces the same output.

So I want to gather timestamp things to one place
(include/generated/timestamp_autogenerated.h) and control it.

Currently __DATE__, __TIME__ are used in two files.

[1] arch/blackfin/include/asm/net.h

Blackfin is using __DATE__ as the seed for the random ethernet address.

This feature will be replaced with genericly-used eth_random_addr().

[2] fs/ubifs/super.c

__DATE__ and __TIME__ are used in dbg_msg(), so simply droppred.

Before doing [1], I've renamed eth_rand_ethaddr() to eth_rand_addr()
for consistency.
And it has been refactored as an inline function, which would be
more easily handled.

Changes for v2:
  - Improve commit desctiption and comments in this cover letter
  - Add the signed-off of the original auther of 5/5.

No change in code. Update only in comments.



Masahiro Yamada (5):
  rand: do not surround function declarations by #ifdef
  net: rename and refactor eth_rand_ethaddr() function
  blackfin: replace bfin_gen_rand_mac() with eth_random_addr()
  fs: ubifs: drop __DATE__ and __TIME__
  kbuild: build with -Werror=date-time if the compiler supports it

 Makefile                              |  3 +++
 arch/blackfin/include/asm/net.h       | 28 ---------------------------
 board/bct-brettl2/bct-brettl2.c       |  3 +--
 board/bf518f-ezbrd/bf518f-ezbrd.c     |  3 +--
 board/bf526-ezbrd/bf526-ezbrd.c       |  3 +--
 board/bf527-ezkit/bf527-ezkit.c       |  3 +--
 board/bf537-minotaur/bf537-minotaur.c |  3 +--
 board/bf537-pnav/bf537-pnav.c         |  3 +--
 board/bf537-srv1/bf537-srv1.c         |  3 +--
 board/bf537-stamp/bf537-stamp.c       |  3 +--
 board/buffalo/lsxl/lsxl.c             |  2 +-
 board/cm-bf527/cm-bf527.c             |  3 +--
 board/cm-bf537e/cm-bf537e.c           |  3 +--
 board/cm-bf537u/cm-bf537u.c           |  3 +--
 board/dnp5370/dnp5370.c               |  3 +--
 board/ip04/ip04.c                     |  3 +--
 board/tcm-bf518/tcm-bf518.c           |  3 +--
 board/tcm-bf537/tcm-bf537.c           |  3 +--
 drivers/net/dm9000x.c                 |  2 +-
 drivers/net/ftmac110.c                |  2 +-
 fs/ubifs/super.c                      |  1 -
 include/common.h                      |  2 --
 include/configs/bct-brettl2.h         |  1 +
 include/configs/bf518f-ezbrd.h        |  2 +-
 include/configs/bf526-ezbrd.h         |  2 +-
 include/configs/bf527-ezkit.h         |  2 +-
 include/configs/bf537-minotaur.h      |  1 +
 include/configs/bf537-pnav.h          |  2 +-
 include/configs/bf537-srv1.h          |  2 +-
 include/configs/bf537-stamp.h         |  2 +-
 include/configs/cm-bf527.h            |  2 +-
 include/configs/cm-bf537e.h           |  2 +-
 include/configs/cm-bf537u.h           |  2 +-
 include/configs/dnp5370.h             |  2 ++
 include/configs/ip04.h                |  1 +
 include/configs/tcm-bf518.h           |  2 +-
 include/configs/tcm-bf537.h           |  2 +-
 include/net.h                         | 36 ++++++++++++++++++-----------------
 net/eth.c                             | 22 ---------------------
 39 files changed, 56 insertions(+), 114 deletions(-)
 delete mode 100644 arch/blackfin/include/asm/net.h

-- 
1.8.3.2

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

* [U-Boot] [PATCH v2 1/5] rand: do not surround function declarations by #ifdef
  2014-04-18 10:09 [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr) Masahiro Yamada
@ 2014-04-18 10:09 ` Masahiro Yamada
  2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 2/5] net: rename and refactor eth_rand_ethaddr() function Masahiro Yamada
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Masahiro Yamada @ 2014-04-18 10:09 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

Changes in v2: None

 include/common.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/common.h b/include/common.h
index cbd3c9e..49feac2 100644
--- a/include/common.h
+++ b/include/common.h
@@ -834,12 +834,10 @@ char *	strmhz(char *buf, unsigned long hz);
 #include <u-boot/crc.h>
 
 /* lib/rand.c */
-#if defined(CONFIG_LIB_RAND) || defined(CONFIG_LIB_HW_RAND)
 #define RAND_MAX -1U
 void srand(unsigned int seed);
 unsigned int rand(void);
 unsigned int rand_r(unsigned int *seedp);
-#endif
 
 /* common/console.c */
 int	console_init_f(void);	/* Before relocation; uses the serial  stuff	*/
-- 
1.8.3.2

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

* [U-Boot] [PATCH v2 2/5] net: rename and refactor eth_rand_ethaddr() function
  2014-04-18 10:09 [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr) Masahiro Yamada
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 1/5] rand: do not surround function declarations by #ifdef Masahiro Yamada
@ 2014-04-18 10:09 ` Masahiro Yamada
  2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 3/5] blackfin: replace bfin_gen_rand_mac() with eth_random_addr() Masahiro Yamada
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Masahiro Yamada @ 2014-04-18 10:09 UTC (permalink / raw)
  To: u-boot

Some functions in include/net.h are ported from
include/linux/etherdevice.h of Linux Kernel.

For ex.
  is_zero_ether_addr()
  is_multicast_ether_addr()
  is_broadcast_ether_addr()
  is_valid_ether_addr();

So, we should use the same function name as that of Linux Kernel,
eth_rand_addr(), for consistency.

Besides, eth_rand_addr() has been implemented as an inline function.
So it should not be surrounded by #ifdef CONFIG_RANDOM_MACADDR.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
---

Changes in v2:
  - Fix commit description

 board/buffalo/lsxl/lsxl.c |  2 +-
 drivers/net/dm9000x.c     |  2 +-
 drivers/net/ftmac110.c    |  2 +-
 include/net.h             | 36 +++++++++++++++++++-----------------
 net/eth.c                 | 22 ----------------------
 5 files changed, 22 insertions(+), 42 deletions(-)

diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
index eca1683..659a124 100644
--- a/board/buffalo/lsxl/lsxl.c
+++ b/board/buffalo/lsxl/lsxl.c
@@ -231,7 +231,7 @@ static void rescue_mode(void)
 	printf("Entering rescue mode..\n");
 #ifdef CONFIG_RANDOM_MACADDR
 	if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
-		eth_random_enetaddr(enetaddr);
+		eth_random_addr(enetaddr);
 		if (eth_setenv_enetaddr("ethaddr", enetaddr)) {
 			printf("Failed to set ethernet address\n");
 				set_led(LED_ALARM_BLINKING);
diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index b68d808..4de9d41 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -345,7 +345,7 @@ static int dm9000_init(struct eth_device *dev, bd_t *bd)
 	if (!is_valid_ether_addr(dev->enetaddr)) {
 #ifdef CONFIG_RANDOM_MACADDR
 		printf("Bad MAC address (uninitialized EEPROM?), randomizing\n");
-		eth_random_enetaddr(dev->enetaddr);
+		eth_random_addr(dev->enetaddr);
 		printf("MAC: %pM\n", dev->enetaddr);
 #else
 		printf("WARNING: Bad MAC address (uninitialized EEPROM?)\n");
diff --git a/drivers/net/ftmac110.c b/drivers/net/ftmac110.c
index 8eee272..98c4f09 100644
--- a/drivers/net/ftmac110.c
+++ b/drivers/net/ftmac110.c
@@ -425,7 +425,7 @@ int ftmac110_initialize(bd_t *bis)
 	dev->recv = ftmac110_recv;
 
 	if (!eth_getenv_enetaddr_by_index("eth", card_nr, dev->enetaddr))
-		eth_random_enetaddr(dev->enetaddr);
+		eth_random_addr(dev->enetaddr);
 
 	/* allocate tx descriptors (it must be 16 bytes aligned) */
 	chip->txd = dma_alloc_coherent(
diff --git a/include/net.h b/include/net.h
index 0802fad..735b0b9 100644
--- a/include/net.h
+++ b/include/net.h
@@ -130,23 +130,6 @@ extern int eth_setenv_enetaddr(char *name, const uchar *enetaddr);
 extern int eth_getenv_enetaddr_by_index(const char *base_name, int index,
 					uchar *enetaddr);
 
-#ifdef CONFIG_RANDOM_MACADDR
-/*
- * The u-boot policy does not allow hardcoded ethernet addresses. Under the
- * following circumstances a random generated address is allowed:
- *  - in emergency cases, where you need a working network connection to set
- *    the ethernet address.
- *    Eg. you want a rescue boot and don't have a serial port to access the
- *    CLI to set environment variables.
- *
- * In these cases, we generate a random locally administered ethernet address.
- *
- * Args:
- *  enetaddr - returns 6 byte hardware address
- */
-extern void eth_random_enetaddr(uchar *enetaddr);
-#endif
-
 extern int usb_eth_initialize(bd_t *bi);
 extern int eth_init(bd_t *bis);			/* Initialize the device */
 extern int eth_send(void *packet, int length);	   /* Send a packet */
@@ -674,6 +657,25 @@ static inline int is_valid_ether_addr(const u8 *addr)
 	return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr);
 }
 
+/**
+ * eth_random_addr - Generate software assigned random Ethernet address
+ * @addr: Pointer to a six-byte array containing the Ethernet address
+ *
+ * Generate a random Ethernet address (MAC) that is not multicast
+ * and has the local assigned bit set.
+ */
+static inline void eth_random_addr(uchar *addr)
+{
+	int i;
+	unsigned int seed = get_timer(0);
+
+	for (i = 0; i < 6; i++)
+		addr[i] = rand_r(&seed);
+
+	addr[0] &= 0xfe;	/* clear multicast bit */
+	addr[0] |= 0x02;	/* set local assignment bit (IEEE802) */
+}
+
 /* Convert an IP address to a string */
 extern void ip_to_string(IPaddr_t x, char *s);
 
diff --git a/net/eth.c b/net/eth.c
index 32bd10c..99386e3 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -63,28 +63,6 @@ static int eth_mac_skip(int index)
 	return ((skip_state = getenv(enetvar)) != NULL);
 }
 
-#ifdef CONFIG_RANDOM_MACADDR
-void eth_random_enetaddr(uchar *enetaddr)
-{
-	uint32_t rval;
-
-	srand(get_timer(0));
-
-	rval = rand();
-	enetaddr[0] = rval & 0xff;
-	enetaddr[1] = (rval >> 8) & 0xff;
-	enetaddr[2] = (rval >> 16) & 0xff;
-
-	rval = rand();
-	enetaddr[3] = rval & 0xff;
-	enetaddr[4] = (rval >> 8) & 0xff;
-	enetaddr[5] = (rval >> 16) & 0xff;
-
-	/* make sure it's local and unicast */
-	enetaddr[0] = (enetaddr[0] | 0x02) & ~0x01;
-}
-#endif
-
 /*
  * CPU and board-specific Ethernet initializations.  Aliased function
  * signals caller to move on
-- 
1.8.3.2

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

* [U-Boot] [PATCH v2 3/5] blackfin: replace bfin_gen_rand_mac() with eth_random_addr()
  2014-04-18 10:09 [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr) Masahiro Yamada
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 1/5] rand: do not surround function declarations by #ifdef Masahiro Yamada
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 2/5] net: rename and refactor eth_rand_ethaddr() function Masahiro Yamada
@ 2014-04-18 10:09 ` Masahiro Yamada
  2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 4/5] fs: ubifs: drop __DATE__ and __TIME__ Masahiro Yamada
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 5/5] kbuild: build with -Werror=date-time if the compiler supports it Masahiro Yamada
  4 siblings, 1 reply; 11+ messages in thread
From: Masahiro Yamada @ 2014-04-18 10:09 UTC (permalink / raw)
  To: u-boot

bfin_gen_rand_mac() uses __DATE__ as the seed for random ethernet
address. This makes the build non-deterministic.

In the first place, it should not be implemented as a Bfin-specific
function. Use eth_random_addr() instead.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Sonic Zhang <sonic.zhang@analog.com>
---

Changes in v2:
  - Improve commit description

 arch/blackfin/include/asm/net.h       | 28 ----------------------------
 board/bct-brettl2/bct-brettl2.c       |  3 +--
 board/bf518f-ezbrd/bf518f-ezbrd.c     |  3 +--
 board/bf526-ezbrd/bf526-ezbrd.c       |  3 +--
 board/bf527-ezkit/bf527-ezkit.c       |  3 +--
 board/bf537-minotaur/bf537-minotaur.c |  3 +--
 board/bf537-pnav/bf537-pnav.c         |  3 +--
 board/bf537-srv1/bf537-srv1.c         |  3 +--
 board/bf537-stamp/bf537-stamp.c       |  3 +--
 board/cm-bf527/cm-bf527.c             |  3 +--
 board/cm-bf537e/cm-bf537e.c           |  3 +--
 board/cm-bf537u/cm-bf537u.c           |  3 +--
 board/dnp5370/dnp5370.c               |  3 +--
 board/ip04/ip04.c                     |  3 +--
 board/tcm-bf518/tcm-bf518.c           |  3 +--
 board/tcm-bf537/tcm-bf537.c           |  3 +--
 include/configs/bct-brettl2.h         |  1 +
 include/configs/bf518f-ezbrd.h        |  2 +-
 include/configs/bf526-ezbrd.h         |  2 +-
 include/configs/bf527-ezkit.h         |  2 +-
 include/configs/bf537-minotaur.h      |  1 +
 include/configs/bf537-pnav.h          |  2 +-
 include/configs/bf537-srv1.h          |  2 +-
 include/configs/bf537-stamp.h         |  2 +-
 include/configs/cm-bf527.h            |  2 +-
 include/configs/cm-bf537e.h           |  2 +-
 include/configs/cm-bf537u.h           |  2 +-
 include/configs/dnp5370.h             |  2 ++
 include/configs/ip04.h                |  1 +
 include/configs/tcm-bf518.h           |  2 +-
 include/configs/tcm-bf537.h           |  2 +-
 31 files changed, 31 insertions(+), 69 deletions(-)
 delete mode 100644 arch/blackfin/include/asm/net.h

diff --git a/arch/blackfin/include/asm/net.h b/arch/blackfin/include/asm/net.h
deleted file mode 100644
index 97cb466..0000000
--- a/arch/blackfin/include/asm/net.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * net.h - misc Blackfin network helpers
- *
- * Copyright (c) 2008-2009 Analog Devices Inc.
- *
- * Licensed under the GPL-2 or later.
- */
-
-#ifndef __ASM_BFIN_RAND_MAC__
-#define __ASM_BFIN_RAND_MAC__
-
-/* If the board does not have a real MAC assigned to it, then generate a
- * locally administrated pseudo-random one based on CYCLES and compile date.
- */
-static inline void bfin_gen_rand_mac(uchar *mac_addr)
-{
-	/* make something up */
-	const char s[] = __DATE__;
-	size_t i;
-	u32 cycles;
-	for (i = 0; i < 6; ++i) {
-		asm("%0 = CYCLES;" : "=r" (cycles));
-		mac_addr[i] = cycles ^ s[i];
-	}
-	mac_addr[0] = (mac_addr[0] | 0x02) & ~0x01; /* make it local unicast */
-}
-
-#endif
diff --git a/board/bct-brettl2/bct-brettl2.c b/board/bct-brettl2/bct-brettl2.c
index de5b9ff..6be9b18 100644
--- a/board/bct-brettl2/bct-brettl2.c
+++ b/board/bct-brettl2/bct-brettl2.c
@@ -12,7 +12,6 @@
 #include <asm/blackfin.h>
 #include <asm/portmux.h>
 #include <asm/gpio.h>
-#include <asm/net.h>
 #include <net.h>
 #include <netdev.h>
 #include <miiphy.h>
@@ -33,7 +32,7 @@ int checkboard(void)
 static void board_init_enetaddr(uchar *mac_addr)
 {
 	puts("Warning: Generating 'random' MAC address\n");
-	bfin_gen_rand_mac(mac_addr);
+	eth_random_addr(mac_addr);
 	eth_setenv_enetaddr("ethaddr", mac_addr);
 }
 
diff --git a/board/bf518f-ezbrd/bf518f-ezbrd.c b/board/bf518f-ezbrd/bf518f-ezbrd.c
index 09a2353..3a94a57 100644
--- a/board/bf518f-ezbrd/bf518f-ezbrd.c
+++ b/board/bf518f-ezbrd/bf518f-ezbrd.c
@@ -13,7 +13,6 @@
 #include <netdev.h>
 #include <spi.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include <asm/portmux.h>
 #include <asm/mach-common/bits/otp.h>
 #include <asm/sdh.h>
@@ -48,7 +47,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/bf526-ezbrd/bf526-ezbrd.c b/board/bf526-ezbrd/bf526-ezbrd.c
index 4695b11..368d6be 100644
--- a/board/bf526-ezbrd/bf526-ezbrd.c
+++ b/board/bf526-ezbrd/bf526-ezbrd.c
@@ -12,7 +12,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include <asm/mach-common/bits/otp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -45,7 +44,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/bf527-ezkit/bf527-ezkit.c b/board/bf527-ezkit/bf527-ezkit.c
index 211cf24..88e1869 100644
--- a/board/bf527-ezkit/bf527-ezkit.c
+++ b/board/bf527-ezkit/bf527-ezkit.c
@@ -13,7 +13,6 @@
 #include <netdev.h>
 #include <asm/blackfin.h>
 #include <asm/gpio.h>
-#include <asm/net.h>
 #include <asm/mach-common/bits/otp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -47,7 +46,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/bf537-minotaur/bf537-minotaur.c b/board/bf537-minotaur/bf537-minotaur.c
index 920429c..ca61ef9 100644
--- a/board/bf537-minotaur/bf537-minotaur.c
+++ b/board/bf537-minotaur/bf537-minotaur.c
@@ -12,7 +12,6 @@
 #include <netdev.h>
 #include <net.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -27,7 +26,7 @@ int checkboard(void)
 static void board_init_enetaddr(uchar *mac_addr)
 {
 	puts("Warning: Generating 'random' MAC address\n");
-	bfin_gen_rand_mac(mac_addr);
+	eth_random_addr(mac_addr);
 	eth_setenv_enetaddr("ethaddr", mac_addr);
 }
 
diff --git a/board/bf537-pnav/bf537-pnav.c b/board/bf537-pnav/bf537-pnav.c
index c512528..df00110 100644
--- a/board/bf537-pnav/bf537-pnav.c
+++ b/board/bf537-pnav/bf537-pnav.c
@@ -12,7 +12,6 @@
 #include <netdev.h>
 #include <net.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -27,7 +26,7 @@ int checkboard(void)
 static void board_init_enetaddr(uchar *mac_addr)
 {
 	puts("Warning: Generating 'random' MAC address\n");
-	bfin_gen_rand_mac(mac_addr);
+	eth_random_addr(mac_addr);
 	eth_setenv_enetaddr("ethaddr", mac_addr);
 }
 
diff --git a/board/bf537-srv1/bf537-srv1.c b/board/bf537-srv1/bf537-srv1.c
index 04d3891..725296a 100644
--- a/board/bf537-srv1/bf537-srv1.c
+++ b/board/bf537-srv1/bf537-srv1.c
@@ -12,7 +12,6 @@
 #include <netdev.h>
 #include <net.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -27,7 +26,7 @@ int checkboard(void)
 static void board_init_enetaddr(uchar *mac_addr)
 {
 	puts("Warning: Generating 'random' MAC address\n");
-	bfin_gen_rand_mac(mac_addr);
+	eth_random_addr(mac_addr);
 	eth_setenv_enetaddr("ethaddr", mac_addr);
 }
 
diff --git a/board/bf537-stamp/bf537-stamp.c b/board/bf537-stamp/bf537-stamp.c
index 5fdf837..32045a9 100644
--- a/board/bf537-stamp/bf537-stamp.c
+++ b/board/bf537-stamp/bf537-stamp.c
@@ -13,7 +13,6 @@
 #include <config.h>
 #include <command.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include <net.h>
 #include <asm/mach-common/bits/bootrom.h>
 #include <netdev.h>
@@ -48,7 +47,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/cm-bf527/cm-bf527.c b/board/cm-bf527/cm-bf527.c
index a5f70a4..1533eb9 100644
--- a/board/cm-bf527/cm-bf527.c
+++ b/board/cm-bf527/cm-bf527.c
@@ -11,7 +11,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include <asm/mach-common/bits/otp.h>
 #include "../cm-bf537e/gpio_cfi_flash.h"
 
@@ -46,7 +45,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/cm-bf537e/cm-bf537e.c b/board/cm-bf537e/cm-bf537e.c
index 8daf3ad..e79f90f 100644
--- a/board/cm-bf537e/cm-bf537e.c
+++ b/board/cm-bf537e/cm-bf537e.c
@@ -12,7 +12,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include "gpio_cfi_flash.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -32,7 +31,7 @@ static void board_init_enetaddr(char *var)
 		return;
 
 	printf("Warning: %s: generating 'random' MAC address\n", var);
-	bfin_gen_rand_mac(enetaddr);
+	eth_random_addr(enetaddr);
 	eth_setenv_enetaddr(var, enetaddr);
 }
 
diff --git a/board/cm-bf537u/cm-bf537u.c b/board/cm-bf537u/cm-bf537u.c
index 5941b5f..632cbda 100644
--- a/board/cm-bf537u/cm-bf537u.c
+++ b/board/cm-bf537u/cm-bf537u.c
@@ -12,7 +12,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include "../cm-bf537e/gpio_cfi_flash.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -32,7 +31,7 @@ static void board_init_enetaddr(char *var)
 		return;
 
 	printf("Warning: %s: generating 'random' MAC address\n", var);
-	bfin_gen_rand_mac(enetaddr);
+	eth_random_addr(enetaddr);
 	eth_setenv_enetaddr(var, enetaddr);
 }
 
diff --git a/board/dnp5370/dnp5370.c b/board/dnp5370/dnp5370.c
index 4b3873b..df721c9 100644
--- a/board/dnp5370/dnp5370.c
+++ b/board/dnp5370/dnp5370.c
@@ -14,7 +14,6 @@
 #include <common.h>
 #include <config.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include <net.h>
 #include <netdev.h>
 #include <asm/gpio.h>
@@ -55,7 +54,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/ip04/ip04.c b/board/ip04/ip04.c
index c8ae512..ae52633 100644
--- a/board/ip04/ip04.c
+++ b/board/ip04/ip04.c
@@ -13,7 +13,6 @@
 #include <common.h>
 #include <net.h>
 #include <netdev.h>
-#include <asm/net.h>
 
 int checkboard(void)
 {
@@ -33,7 +32,7 @@ int misc_init_r(void)
 	uchar enetaddr[6];
 	if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(enetaddr);
+		eth_random_addr(enetaddr);
 		eth_setenv_enetaddr("ethaddr", enetaddr);
 	}
 
diff --git a/board/tcm-bf518/tcm-bf518.c b/board/tcm-bf518/tcm-bf518.c
index 5964059..5d25fcd 100644
--- a/board/tcm-bf518/tcm-bf518.c
+++ b/board/tcm-bf518/tcm-bf518.c
@@ -11,7 +11,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include <asm/mach-common/bits/otp.h>
 #include <asm/sdh.h>
 
@@ -47,7 +46,7 @@ static void board_init_enetaddr(uchar *mac_addr)
 
 	if (!valid_mac) {
 		puts("Warning: Generating 'random' MAC address\n");
-		bfin_gen_rand_mac(mac_addr);
+		eth_random_addr(mac_addr);
 	}
 
 	eth_setenv_enetaddr("ethaddr", mac_addr);
diff --git a/board/tcm-bf537/tcm-bf537.c b/board/tcm-bf537/tcm-bf537.c
index 38aaae6..a4f0f71 100644
--- a/board/tcm-bf537/tcm-bf537.c
+++ b/board/tcm-bf537/tcm-bf537.c
@@ -12,7 +12,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/blackfin.h>
-#include <asm/net.h>
 #include "../cm-bf537e/gpio_cfi_flash.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -32,7 +31,7 @@ static void board_init_enetaddr(char *var)
 		return;
 
 	printf("Warning: %s: generating 'random' MAC address\n", var);
-	bfin_gen_rand_mac(enetaddr);
+	eth_random_addr(enetaddr);
 	eth_setenv_enetaddr(var, enetaddr);
 }
 
diff --git a/include/configs/bct-brettl2.h b/include/configs/bct-brettl2.h
index 06f095c..c1eda96 100644
--- a/include/configs/bct-brettl2.h
+++ b/include/configs/bct-brettl2.h
@@ -75,6 +75,7 @@
 #define CONFIG_ROOTPATH		"/romfs/brettl2"
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
+#define CONFIG_LIB_RAND
 #endif
 
 
diff --git a/include/configs/bf518f-ezbrd.h b/include/configs/bf518f-ezbrd.h
index 9eb85eb..9e374c4 100644
--- a/include/configs/bf518f-ezbrd.h
+++ b/include/configs/bf518f-ezbrd.h
@@ -89,7 +89,7 @@
 #define CONFIG_PHY_ADDR		3
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/bf526-ezbrd.h b/include/configs/bf526-ezbrd.h
index 3065d22..972eca9 100644
--- a/include/configs/bf526-ezbrd.h
+++ b/include/configs/bf526-ezbrd.h
@@ -87,7 +87,7 @@
 #define CONFIG_HOSTNAME		bf526-ezbrd
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/bf527-ezkit.h b/include/configs/bf527-ezkit.h
index 748ddb3..92c183e 100644
--- a/include/configs/bf527-ezkit.h
+++ b/include/configs/bf527-ezkit.h
@@ -85,7 +85,7 @@
 #define CONFIG_HOSTNAME		bf527-ezkit
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/bf537-minotaur.h b/include/configs/bf537-minotaur.h
index 156eeab..3bc364c 100644
--- a/include/configs/bf537-minotaur.h
+++ b/include/configs/bf537-minotaur.h
@@ -89,6 +89,7 @@
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:42 */
 
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/bf537-pnav.h b/include/configs/bf537-pnav.h
index 3aa3d50..ba74a69 100644
--- a/include/configs/bf537-pnav.h
+++ b/include/configs/bf537-pnav.h
@@ -67,7 +67,7 @@
 #define CONFIG_HOSTNAME		bf537-pnav
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:24:21:18 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/bf537-srv1.h b/include/configs/bf537-srv1.h
index e12d761..0b723cf 100644
--- a/include/configs/bf537-srv1.h
+++ b/include/configs/bf537-srv1.h
@@ -88,7 +88,7 @@
 #define CONFIG_ROOTPATH		"/romfs"
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:42 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/bf537-stamp.h b/include/configs/bf537-stamp.h
index e1705ca..a302f83 100644
--- a/include/configs/bf537-stamp.h
+++ b/include/configs/bf537-stamp.h
@@ -67,7 +67,7 @@
 #define CONFIG_HOSTNAME		bf537-stamp
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/cm-bf527.h b/include/configs/cm-bf527.h
index 384d871..8d3ae49 100644
--- a/include/configs/cm-bf527.h
+++ b/include/configs/cm-bf527.h
@@ -85,7 +85,7 @@
 #define CONFIG_HOSTNAME		cm-bf527
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/cm-bf537e.h b/include/configs/cm-bf537e.h
index 67cf801..47967d7 100644
--- a/include/configs/cm-bf537e.h
+++ b/include/configs/cm-bf537e.h
@@ -73,7 +73,7 @@
 #define CONFIG_HOSTNAME		cm-bf537e
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/cm-bf537u.h b/include/configs/cm-bf537u.h
index 34ce75b..88c9982 100644
--- a/include/configs/cm-bf537u.h
+++ b/include/configs/cm-bf537u.h
@@ -71,7 +71,7 @@
 #define CONFIG_HOSTNAME		cm-bf537u
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/dnp5370.h b/include/configs/dnp5370.h
index 4f2c742..3f1f9f3 100644
--- a/include/configs/dnp5370.h
+++ b/include/configs/dnp5370.h
@@ -55,6 +55,8 @@
 
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_PING
+
+#define CONFIG_LIB_RAND
 #endif
 
 /*
diff --git a/include/configs/ip04.h b/include/configs/ip04.h
index 0efa2b7..3767502 100644
--- a/include/configs/ip04.h
+++ b/include/configs/ip04.h
@@ -77,6 +77,7 @@
 #define DM9000_IO		CONFIG_DM9000_BASE
 #define DM9000_DATA		(CONFIG_DM9000_BASE + 2)
 
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/tcm-bf518.h b/include/configs/tcm-bf518.h
index 1ff34d5..a77ba69 100644
--- a/include/configs/tcm-bf518.h
+++ b/include/configs/tcm-bf518.h
@@ -68,7 +68,7 @@
 #define CONFIG_HOSTNAME		tcm-bf518
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
diff --git a/include/configs/tcm-bf537.h b/include/configs/tcm-bf537.h
index 370d97f..c4c1c57 100644
--- a/include/configs/tcm-bf537.h
+++ b/include/configs/tcm-bf537.h
@@ -73,7 +73,7 @@
 #define CONFIG_HOSTNAME		tcm-bf537
 /* Uncomment next line to use fixed MAC address */
 /* #define CONFIG_ETHADDR	02:80:ad:20:31:e8 */
-
+#define CONFIG_LIB_RAND
 
 /*
  * Flash Settings
-- 
1.8.3.2

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

* [U-Boot] [PATCH v2 4/5] fs: ubifs: drop __DATE__ and __TIME__
  2014-04-18 10:09 [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr) Masahiro Yamada
                   ` (2 preceding siblings ...)
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 3/5] blackfin: replace bfin_gen_rand_mac() with eth_random_addr() Masahiro Yamada
@ 2014-04-18 10:09 ` Masahiro Yamada
  2014-05-13  1:52   ` [U-Boot] [U-Boot,v2,4/5] " Tom Rini
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 5/5] kbuild: build with -Werror=date-time if the compiler supports it Masahiro Yamada
  4 siblings, 1 reply; 11+ messages in thread
From: Masahiro Yamada @ 2014-04-18 10:09 UTC (permalink / raw)
  To: u-boot

__DATE__ and __TIME__ makes the build non-deterministic.
Drop the debug message using them.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

Changes in v2: None

 fs/ubifs/super.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 67f115f..748ab67 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -734,7 +734,6 @@ static int mount_ubifs(struct ubifs_info *c)
 	ubifs_msg("reserved for root:  %llu bytes (%llu KiB)",
 		c->report_rp_size, c->report_rp_size >> 10);
 
-	dbg_msg("compiled on:         " __DATE__ " at " __TIME__);
 	dbg_msg("min. I/O unit size:  %d bytes", c->min_io_size);
 	dbg_msg("LEB size:            %d bytes (%d KiB)",
 		c->leb_size, c->leb_size >> 10);
-- 
1.8.3.2

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

* [U-Boot] [PATCH v2 5/5] kbuild: build with -Werror=date-time if the compiler supports it
  2014-04-18 10:09 [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr) Masahiro Yamada
                   ` (3 preceding siblings ...)
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 4/5] fs: ubifs: drop __DATE__ and __TIME__ Masahiro Yamada
@ 2014-04-18 10:09 ` Masahiro Yamada
  2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
  4 siblings, 1 reply; 11+ messages in thread
From: Masahiro Yamada @ 2014-04-18 10:09 UTC (permalink / raw)
  To: u-boot

Using __DATE__, __TIME__ would make the build non-deterministic.

If the code needs to refer to build date/time, use U_BOOT_DATE and
U_BOOT_TIME in include/generated/timestamp_autogenerated.h instead.

This commit has been imported from Linux Kernel,
which should be applied to U-Boot too:

    commit fe7c36c7bde12190341722af69358e42171162f3
    Author: Josh Triplett <josh@joshtriplett.org>
    Date:   Mon Dec 23 13:56:06 2013 -0800

    Makefile: Build with -Werror=date-time if the compiler supports it

    GCC 4.9 and newer have a new warning -Wdate-time, which warns on any use
    of __DATE__, __TIME__, or __TIMESTAMP__, which would make the build
    non-deterministic.  Now that the kernel does not use any of those
    macros, turn on -Werror=date-time if available, to keep it that way.

    The kernel already (optionally) records this information at build time
    in a single place; other kernel code should not duplicate that.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

Changes in v2:
  - Add signed-off of the original author.

 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index 0191869..09a370f 100644
--- a/Makefile
+++ b/Makefile
@@ -578,6 +578,9 @@ KBUILD_AFLAGS += -Wa,-gstabs,-S
 endif
 endif
 
+# Prohibit date/time macros, which would make the build non-deterministic
+KBUILD_CFLAGS   += $(call cc-option,-Werror=date-time)
+
 ifneq ($(CONFIG_SYS_TEXT_BASE),)
 KBUILD_CPPFLAGS += -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE)
 endif
-- 
1.8.3.2

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

* [U-Boot] [U-Boot, v2, 1/5] rand: do not surround function declarations by #ifdef
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 1/5] rand: do not surround function declarations by #ifdef Masahiro Yamada
@ 2014-05-13  1:52   ` Tom Rini
  0 siblings, 0 replies; 11+ messages in thread
From: Tom Rini @ 2014-05-13  1:52 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 18, 2014 at 07:09:47PM +0900, Masahiro Yamada wrote:

> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140512/87d5a1e0/attachment.pgp>

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

* [U-Boot] [U-Boot, v2, 2/5] net: rename and refactor eth_rand_ethaddr() function
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 2/5] net: rename and refactor eth_rand_ethaddr() function Masahiro Yamada
@ 2014-05-13  1:52   ` Tom Rini
  0 siblings, 0 replies; 11+ messages in thread
From: Tom Rini @ 2014-05-13  1:52 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 18, 2014 at 07:09:48PM +0900, Masahiro Yamada wrote:

> Some functions in include/net.h are ported from
> include/linux/etherdevice.h of Linux Kernel.
> 
> For ex.
>   is_zero_ether_addr()
>   is_multicast_ether_addr()
>   is_broadcast_ether_addr()
>   is_valid_ether_addr();
> 
> So, we should use the same function name as that of Linux Kernel,
> eth_rand_addr(), for consistency.
> 
> Besides, eth_rand_addr() has been implemented as an inline function.
> So it should not be surrounded by #ifdef CONFIG_RANDOM_MACADDR.
> 
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Acked-by: Joe Hershberger <joe.hershberger@ni.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140512/b6b578a3/attachment.pgp>

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

* [U-Boot] [U-Boot, v2, 3/5] blackfin: replace bfin_gen_rand_mac() with eth_random_addr()
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 3/5] blackfin: replace bfin_gen_rand_mac() with eth_random_addr() Masahiro Yamada
@ 2014-05-13  1:52   ` Tom Rini
  0 siblings, 0 replies; 11+ messages in thread
From: Tom Rini @ 2014-05-13  1:52 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 18, 2014 at 07:09:49PM +0900, Masahiro Yamada wrote:

> bfin_gen_rand_mac() uses __DATE__ as the seed for random ethernet
> address. This makes the build non-deterministic.
> 
> In the first place, it should not be implemented as a Bfin-specific
> function. Use eth_random_addr() instead.
> 
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Cc: Sonic Zhang <sonic.zhang@analog.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140512/edc16597/attachment.pgp>

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

* [U-Boot] [U-Boot,v2,4/5] fs: ubifs: drop __DATE__ and __TIME__
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 4/5] fs: ubifs: drop __DATE__ and __TIME__ Masahiro Yamada
@ 2014-05-13  1:52   ` Tom Rini
  0 siblings, 0 replies; 11+ messages in thread
From: Tom Rini @ 2014-05-13  1:52 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 18, 2014 at 07:09:50PM +0900, Masahiro Yamada wrote:

> __DATE__ and __TIME__ makes the build non-deterministic.
> Drop the debug message using them.
> 
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140512/ba6446ba/attachment.pgp>

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

* [U-Boot] [U-Boot, v2, 5/5] kbuild: build with -Werror=date-time if the compiler supports it
  2014-04-18 10:09 ` [U-Boot] [PATCH v2 5/5] kbuild: build with -Werror=date-time if the compiler supports it Masahiro Yamada
@ 2014-05-13  1:52   ` Tom Rini
  0 siblings, 0 replies; 11+ messages in thread
From: Tom Rini @ 2014-05-13  1:52 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 18, 2014 at 07:09:51PM +0900, Masahiro Yamada wrote:

> Using __DATE__, __TIME__ would make the build non-deterministic.
> 
> If the code needs to refer to build date/time, use U_BOOT_DATE and
> U_BOOT_TIME in include/generated/timestamp_autogenerated.h instead.
> 
> This commit has been imported from Linux Kernel,
> which should be applied to U-Boot too:
> 
>     commit fe7c36c7bde12190341722af69358e42171162f3
>     Author: Josh Triplett <josh@joshtriplett.org>
>     Date:   Mon Dec 23 13:56:06 2013 -0800
> 
>     Makefile: Build with -Werror=date-time if the compiler supports it
> 
>     GCC 4.9 and newer have a new warning -Wdate-time, which warns on any use
>     of __DATE__, __TIME__, or __TIMESTAMP__, which would make the build
>     non-deterministic.  Now that the kernel does not use any of those
>     macros, turn on -Werror=date-time if available, to keep it that way.
> 
>     The kernel already (optionally) records this information at build time
>     in a single place; other kernel code should not duplicate that.
> 
> Signed-off-by: Josh Triplett <josh@joshtriplett.org>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140512/e12bb86b/attachment.pgp>

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

end of thread, other threads:[~2014-05-13  1:52 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-18 10:09 [U-Boot] [PATCH v2 0/5] Prohibit __DATE__ and __TIME__ (+ refactor random MAC addr) Masahiro Yamada
2014-04-18 10:09 ` [U-Boot] [PATCH v2 1/5] rand: do not surround function declarations by #ifdef Masahiro Yamada
2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
2014-04-18 10:09 ` [U-Boot] [PATCH v2 2/5] net: rename and refactor eth_rand_ethaddr() function Masahiro Yamada
2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
2014-04-18 10:09 ` [U-Boot] [PATCH v2 3/5] blackfin: replace bfin_gen_rand_mac() with eth_random_addr() Masahiro Yamada
2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini
2014-04-18 10:09 ` [U-Boot] [PATCH v2 4/5] fs: ubifs: drop __DATE__ and __TIME__ Masahiro Yamada
2014-05-13  1:52   ` [U-Boot] [U-Boot,v2,4/5] " Tom Rini
2014-04-18 10:09 ` [U-Boot] [PATCH v2 5/5] kbuild: build with -Werror=date-time if the compiler supports it Masahiro Yamada
2014-05-13  1:52   ` [U-Boot] [U-Boot, v2, " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.