netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 14:58 Michal Marek
  2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: Drop __TIME__ usage Michal Marek
                   ` (8 more replies)
  0 siblings, 9 replies; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild
  Cc: anil_ravindranath, mchehab, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-usb,
	linux-media, arnaud.giersch, teigland, tony.olech, apw,
	linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	jon.maloy, linux-scsi, linuxppc-dev, gregkh, linux-wireless,
	linux-kernel, bluesmoke-devel


Hi,

this series makes it possible to build bit-identical kernel image and
modules from identical sources. Of course the build is already
deterministic in terms of behavior of the code, but the various
timestamps embedded in the object files make it hard to compare two
builds, for instance to verify that a makefile cleanup didn't
accidentally change something. A prime example is /proc/config.gz, which
has both a timestamp in the gzip header and a timestamp in the payload
data. With this series applied, a script like this will produce
identical kernels each time:

#!/bin/bash
rm -rf /dev/shm/{source,build}{,1,2}
export KCONFIG_NOTIMESTAMP=1
export KBUILD_BUILD_TIMESTAMP='Sun May  1 12:00:00 CEST 2011'
export KBUILD_BUILD_USER=user
export KBUILD_BUILD_HOST=host
export ROOT_DEV=FLOPPY
for i in 1 2; do
	mkdir /dev/shm/source
	# randomize the inode order just for fun
	git ls-tree -r -z --name-only HEAD | sort -R -z | xargs -0 \
		cp --parents --target=/dev/shm/source
	pushd /dev/shm/source
	mkdir /dev/shm/build
	>/dev/shm/build/all.config
	for opt in GCOV_KERNEL UBIFS_FS_DEBUG; do
		echo "# CONFIG_$opt is not set" >>"/dev/shm/build"/all.config
	done
	make O="/dev/shm/build" KCONFIG_ALLCONFIG=1 allmodconfig
	make O="/dev/shm/build" -j64
	popd
	mv /dev/shm/source /dev/shm/source$i
	mv /dev/shm/build /dev/shm/build$i
done
diff -rq /dev/shm/build{1,2}

Unfortunatelly, this cannot be used to validate indentation-only
patches, even if CONFIG_DEBUG_INFO is turned off. This is because of the
__FILE__ and __LINE__ macros used in many places. For the same reason,
the source and build directory needs to be the same, otherwise the
results will differ. This was tested on
x86_64/{defconfig,allmodconfig,allyesconfig} and ppc64/defconfig. The
series is also available at

git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git deterministic-build-v1

Michal


Michal Marek (34):
  kconfig: Do not record timestamp in auto.conf and autoconf.h
  kbuild: Call gzip with -n
  powerpc: Call gzip with -n
  kbuild: Use the deterministic mode of ar
  powerpc: Use the deterministic mode of ar
  kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN
    macros
  kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST
    macros
  initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  x86: Allow to override the ROOT_DEV variable
  cyclades: Drop __TIME__ usage
  nozomi: Drop __TIME__ usage
  isdn/diva: Drop __TIME__ usage
  media/radio-maxiradio: Drop __TIME__ usage
  media/cx231xx: Drop __TIME__ usage
  baycom: Drop __TIME__ usage
  nand/denali: Drop __TIME__ usage
  hdlcdrv: Drop __TIME__ usage
  wan/pc300: Drop __TIME__ usage
  rt2x00: Drop __TIME__ usage
  parport: Drop __TIME__ usage
  aacraid: Drop __TIME__ usage
  scsi/in2000: Drop __TIME__ usage
  scsi/wd33c93: Drop __TIME__ usage
  usb/u132-hcd: Drop __TIME__ usage
  usb/ftdi-elan: Drop __TIME__ usage
  dlm: Drop __TIME__ usage
  gfs2: Drop __TIME__ usage
  atm: Drop __TIME__ usage
  tipc: Drop __TIME__ usage
  rio: Drop __DATE__ usage
  edac: Drop __DATE__ usage
  pmcraid: Drop __DATE__ usage
  usb/lh7a40x_udc: Drop __DATE__ usage
  checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__

 Documentation/kbuild/kbuild.txt              |   12 ++++++++++
 arch/powerpc/boot/Makefile                   |    2 +-
 arch/powerpc/boot/wrapper                    |    6 ++--
 arch/x86/boot/Makefile                       |    2 +-
 drivers/char/cyclades.c                      |    3 +-
 drivers/char/nozomi.c                        |    3 +-
 drivers/char/rio/rioinit.c                   |    2 +-
 drivers/edac/amd76x_edac.c                   |    2 +-
 drivers/edac/amd8111_edac.c                  |    2 +-
 drivers/edac/amd8131_edac.c                  |    2 +-
 drivers/edac/cpc925_edac.c                   |    2 +-
 drivers/edac/e752x_edac.c                    |    2 +-
 drivers/edac/e7xxx_edac.c                    |    2 +-
 drivers/edac/edac_module.c                   |    2 +-
 drivers/edac/i5000_edac.c                    |    2 +-
 drivers/edac/i5400_edac.c                    |    2 +-
 drivers/edac/i7300_edac.c                    |    2 +-
 drivers/edac/i7core_edac.c                   |    2 +-
 drivers/edac/i82860_edac.c                   |    2 +-
 drivers/edac/i82875p_edac.c                  |    2 +-
 drivers/edac/i82975x_edac.c                  |    2 +-
 drivers/edac/mpc85xx_edac.h                  |    2 +-
 drivers/edac/mv64x60_edac.h                  |    2 +-
 drivers/edac/ppc4xx_edac.c                   |    2 +-
 drivers/edac/r82600_edac.c                   |    2 +-
 drivers/isdn/hardware/eicon/divasfunc.c      |    5 +--
 drivers/media/radio/radio-maxiradio.c        |    3 +-
 drivers/media/video/cx231xx/cx231xx-avcore.c |    2 +-
 drivers/mtd/nand/denali.c                    |    3 +-
 drivers/net/hamradio/baycom_epp.c            |    2 +-
 drivers/net/hamradio/baycom_par.c            |    2 +-
 drivers/net/hamradio/baycom_ser_fdx.c        |    2 +-
 drivers/net/hamradio/baycom_ser_hdx.c        |    2 +-
 drivers/net/hamradio/hdlcdrv.c               |    2 +-
 drivers/net/wan/pc300_drv.c                  |    3 +-
 drivers/net/wireless/rt2x00/rt2x00debug.c    |    1 -
 drivers/parport/parport_ip32.c               |    1 -
 drivers/scsi/aacraid/linit.c                 |    3 +-
 drivers/scsi/in2000.c                        |    2 +-
 drivers/scsi/pmcraid.c                       |    9 +++----
 drivers/scsi/pmcraid.h                       |    1 -
 drivers/scsi/wd33c93.c                       |    7 ++---
 drivers/usb/gadget/lh7a40x_udc.c             |    7 ++---
 drivers/usb/host/u132-hcd.c                  |    3 +-
 drivers/usb/misc/ftdi-elan.c                 |    3 +-
 fs/dlm/main.c                                |    2 +-
 fs/gfs2/main.c                               |    2 +-
 net/atm/lec.c                                |    2 +-
 net/atm/mpc.c                                |    2 +-
 net/tipc/core.c                              |    3 +-
 scripts/Makefile.build                       |    4 +-
 scripts/Makefile.lib                         |    2 +-
 scripts/checkpatch.pl                        |    5 ++++
 scripts/gen_initramfs_list.sh                |    8 +++++-
 scripts/kconfig/confdata.c                   |    8 +-----
 scripts/mkcompile_h                          |   30 ++++++++++++-------------
 usr/gen_init_cpio.c                          |   17 +++++++++-----
 57 files changed, 109 insertions(+), 105 deletions(-)

-- 
1.7.4.1

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

* [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-05 15:10   ` Armin Schindler
  2011-04-05 14:59 ` [PATCH 15/34] baycom: " Michal Marek
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Armin Schindler, netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: Armin Schindler <mac@melware.de>
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/isdn/hardware/eicon/divasfunc.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/isdn/hardware/eicon/divasfunc.c b/drivers/isdn/hardware/eicon/divasfunc.c
index d36a4c0..0bbee78 100644
--- a/drivers/isdn/hardware/eicon/divasfunc.c
+++ b/drivers/isdn/hardware/eicon/divasfunc.c
@@ -113,9 +113,8 @@ void diva_xdi_didd_remove_adapter(int card)
 static void start_dbg(void)
 {
 	DbgRegister("DIVAS", DRIVERRELEASE_DIVAS, (debugmask) ? debugmask : DBG_DEFAULT);
-	DBG_LOG(("DIVA ISDNXDI BUILD (%s[%s]-%s-%s)",
-		 DIVA_BUILD, diva_xdi_common_code_build, __DATE__,
-		 __TIME__))
+	DBG_LOG(("DIVA ISDNXDI BUILD (%s[%s])",
+		 DIVA_BUILD, diva_xdi_common_code_build))
 }
 
 /*
-- 
1.7.4.1


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

* [PATCH 15/34] baycom: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
  2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: Drop __TIME__ usage Michal Marek
@ 2011-04-05 14:59 ` Michal Marek
       [not found]   ` <1302015780.4124.53.camel@xbox360.hq.axsem.com>
  2011-04-05 14:59 ` [PATCH 17/34] hdlcdrv: " Michal Marek
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Thomas Sailer, linux-hams, netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: Thomas Sailer <t.sailer@alumni.ethz.ch>
Cc: linux-hams@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/net/hamradio/baycom_epp.c     |    2 +-
 drivers/net/hamradio/baycom_par.c     |    2 +-
 drivers/net/hamradio/baycom_ser_fdx.c |    2 +-
 drivers/net/hamradio/baycom_ser_hdx.c |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c
index a3c0dc9..9537aaa 100644
--- a/drivers/net/hamradio/baycom_epp.c
+++ b/drivers/net/hamradio/baycom_epp.c
@@ -69,7 +69,7 @@ static const char paranoia_str[] = KERN_ERR
 
 static const char bc_drvname[] = "baycom_epp";
 static const char bc_drvinfo[] = KERN_INFO "baycom_epp: (C) 1998-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-"baycom_epp: version 0.7 compiled " __TIME__ " " __DATE__ "\n";
+"baycom_epp: version 0.7\n";
 
 /* --------------------------------------------------------------------- */
 
diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c
index 5f5af9a..279d229 100644
--- a/drivers/net/hamradio/baycom_par.c
+++ b/drivers/net/hamradio/baycom_par.c
@@ -102,7 +102,7 @@
 
 static const char bc_drvname[] = "baycom_par";
 static const char bc_drvinfo[] = KERN_INFO "baycom_par: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-"baycom_par: version 0.9 compiled " __TIME__ " " __DATE__ "\n";
+"baycom_par: version 0.9\n";
 
 /* --------------------------------------------------------------------- */
 
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index 3e25f10..99cdce3 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -92,7 +92,7 @@
 
 static const char bc_drvname[] = "baycom_ser_fdx";
 static const char bc_drvinfo[] = KERN_INFO "baycom_ser_fdx: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-"baycom_ser_fdx: version 0.10 compiled " __TIME__ " " __DATE__ "\n";
+"baycom_ser_fdx: version 0.10\n";
 
 /* --------------------------------------------------------------------- */
 
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index 1686f6d..d92fe6c 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -80,7 +80,7 @@
 
 static const char bc_drvname[] = "baycom_ser_hdx";
 static const char bc_drvinfo[] = KERN_INFO "baycom_ser_hdx: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-"baycom_ser_hdx: version 0.10 compiled " __TIME__ " " __DATE__ "\n";
+"baycom_ser_hdx: version 0.10\n";
 
 /* --------------------------------------------------------------------- */
 
-- 
1.7.4.1

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

* [PATCH 17/34] hdlcdrv: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
  2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: Drop __TIME__ usage Michal Marek
  2011-04-05 14:59 ` [PATCH 15/34] baycom: " Michal Marek
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-19 10:17   ` walter harms
       [not found]   ` <1302015790.4124.54.camel@xbox360.hq.axsem.com>
  2011-04-05 14:59 ` [PATCH 18/34] wan/pc300: " Michal Marek
                   ` (5 subsequent siblings)
  8 siblings, 2 replies; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Thomas Sailer, linux-hams, netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: Thomas Sailer <t.sailer@alumni.ethz.ch>
Cc: linux-hams@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/net/hamradio/hdlcdrv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
index 5b37579..a4a3516 100644
--- a/drivers/net/hamradio/hdlcdrv.c
+++ b/drivers/net/hamradio/hdlcdrv.c
@@ -749,7 +749,7 @@ EXPORT_SYMBOL(hdlcdrv_unregister);
 static int __init hdlcdrv_init_driver(void)
 {
 	printk(KERN_INFO "hdlcdrv: (C) 1996-2000 Thomas Sailer HB9JNX/AE4WA\n");
-	printk(KERN_INFO "hdlcdrv: version 0.8 compiled " __TIME__ " " __DATE__ "\n");
+	printk(KERN_INFO "hdlcdrv: version 0.8\n");
 	return 0;
 }
 
-- 
1.7.4.1


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

* [PATCH 18/34] wan/pc300: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
                   ` (2 preceding siblings ...)
  2011-04-05 14:59 ` [PATCH 17/34] hdlcdrv: " Michal Marek
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-25 20:43   ` Michal Marek
  2011-04-05 14:59 ` [PATCH 19/34] rt2x00: " Michal Marek
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, David S. Miller, netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/net/wan/pc300_drv.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c
index f875cfa..80ae503 100644
--- a/drivers/net/wan/pc300_drv.c
+++ b/drivers/net/wan/pc300_drv.c
@@ -3242,8 +3242,7 @@ static inline void show_version(void)
 	rcsdate++;
 	tmp = strrchr(rcsdate, ' ');
 	*tmp = '\0';
-	printk(KERN_INFO "Cyclades-PC300 driver %s %s (built %s %s)\n", 
-		rcsvers, rcsdate, __DATE__, __TIME__);
+	printk(KERN_INFO "Cyclades-PC300 driver %s %s\n", rcsvers, rcsdate);
 }				/* show_version */
 
 static const struct net_device_ops cpc_netdev_ops = {
-- 
1.7.4.1


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

* [PATCH 19/34] rt2x00: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
                   ` (3 preceding siblings ...)
  2011-04-05 14:59 ` [PATCH 18/34] wan/pc300: " Michal Marek
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-05 15:28   ` Gertjan van Wingerde
  2011-04-05 18:37   ` Ivo Van Doorn
  2011-04-05 14:59 ` [PATCH 28/34] atm: " Michal Marek
                   ` (3 subsequent siblings)
  8 siblings, 2 replies; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Ivo van Doorn, Gertjan van Wingerde, linux-wireless,
	netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Gertjan van Wingerde <gwingerde@gmail.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/net/wireless/rt2x00/rt2x00debug.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c
index c92db32..66166ef 100644
--- a/drivers/net/wireless/rt2x00/rt2x00debug.c
+++ b/drivers/net/wireless/rt2x00/rt2x00debug.c
@@ -568,7 +568,6 @@ static struct dentry *rt2x00debug_create_file_driver(const char *name,
 	blob->data = data;
 	data += sprintf(data, "driver:\t%s\n", intf->rt2x00dev->ops->name);
 	data += sprintf(data, "version:\t%s\n", DRV_VERSION);
-	data += sprintf(data, "compiled:\t%s %s\n", __DATE__, __TIME__);
 	blob->size = strlen(blob->data);
 
 	return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);
-- 
1.7.4.1

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

* [PATCH 28/34] atm: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
                   ` (4 preceding siblings ...)
  2011-04-05 14:59 ` [PATCH 19/34] rt2x00: " Michal Marek
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-25 20:49   ` Michal Marek
  2011-04-05 14:59 ` [PATCH 29/34] tipc: " Michal Marek
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, David S. Miller, netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 net/atm/lec.c |    2 +-
 net/atm/mpc.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/atm/lec.c b/net/atm/lec.c
index 38754fd..cb14ddf 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -1173,7 +1173,7 @@ static int __init lane_module_init(void)
 #endif
 
 	register_atm_ioctl(&lane_ioctl_ops);
-	pr_info("lec.c: " __DATE__ " " __TIME__ " initialized\n");
+	pr_info("lec.c: initialized\n");
 	return 0;
 }
 
diff --git a/net/atm/mpc.c b/net/atm/mpc.c
index 644cdf0..3ccca42 100644
--- a/net/atm/mpc.c
+++ b/net/atm/mpc.c
@@ -1482,7 +1482,7 @@ static __init int atm_mpoa_init(void)
 	if (mpc_proc_init() != 0)
 		pr_info("failed to initialize /proc/mpoa\n");
 
-	pr_info("mpc.c: " __DATE__ " " __TIME__ " initialized\n");
+	pr_info("mpc.c: initialized\n");
 
 	return 0;
 }
-- 
1.7.4.1


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

* [PATCH 29/34] tipc: Drop __TIME__ usage
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
                   ` (5 preceding siblings ...)
  2011-04-05 14:59 ` [PATCH 28/34] atm: " Michal Marek
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-05 22:25   ` Paul Gortmaker
  2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
  2011-04-06  9:01 ` Ingo Molnar
  8 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Jon Maloy, Allan Stephens, tipc-discussion, netdev

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: Jon Maloy <jon.maloy@ericsson.com>
Cc: Allan Stephens <allan.stephens@windriver.com>
Cc: tipc-discussion@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 net/tipc/core.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/net/tipc/core.c b/net/tipc/core.c
index e071579..33532fe 100644
--- a/net/tipc/core.c
+++ b/net/tipc/core.c
@@ -185,8 +185,7 @@ static int __init tipc_init(void)
 	if (tipc_log_resize(CONFIG_TIPC_LOG) != 0)
 		warn("Unable to create log buffer\n");
 
-	info("Activated (version " TIPC_MOD_VER
-	     " compiled " __DATE__ " " __TIME__ ")\n");
+	info("Activated (version " TIPC_MOD_VER ")\n");
 
 	tipc_own_addr = 0;
 	tipc_remote_management = 1;
-- 
1.7.4.1

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: Drop __TIME__ usage Michal Marek
@ 2011-04-05 15:10   ` Armin Schindler
  2011-04-05 15:37     ` Ben Hutchings
                       ` (2 more replies)
  0 siblings, 3 replies; 38+ messages in thread
From: Armin Schindler @ 2011-04-05 15:10 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel, netdev

On Tue, 5 Apr 2011, Michal Marek wrote:
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.

The module can be build separately from the kernel, therefore it can have
an own build timestamp.

Armin

> Cc: Armin Schindler <mac@melware.de>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
> drivers/isdn/hardware/eicon/divasfunc.c |    5 ++---
> 1 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/isdn/hardware/eicon/divasfunc.c b/drivers/isdn/hardware/eicon/divasfunc.c
> index d36a4c0..0bbee78 100644
> --- a/drivers/isdn/hardware/eicon/divasfunc.c
> +++ b/drivers/isdn/hardware/eicon/divasfunc.c
> @@ -113,9 +113,8 @@ void diva_xdi_didd_remove_adapter(int card)
> static void start_dbg(void)
> {
> 	DbgRegister("DIVAS", DRIVERRELEASE_DIVAS, (debugmask) ? debugmask : DBG_DEFAULT);
> -	DBG_LOG(("DIVA ISDNXDI BUILD (%s[%s]-%s-%s)",
> -		 DIVA_BUILD, diva_xdi_common_code_build, __DATE__,
> -		 __TIME__))
> +	DBG_LOG(("DIVA ISDNXDI BUILD (%s[%s])",
> +		 DIVA_BUILD, diva_xdi_common_code_build))
> }
>
> /*
> -- 
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

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

* Re: [PATCH 19/34] rt2x00: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 19/34] rt2x00: " Michal Marek
@ 2011-04-05 15:28   ` Gertjan van Wingerde
  2011-04-05 18:37   ` Ivo Van Doorn
  1 sibling, 0 replies; 38+ messages in thread
From: Gertjan van Wingerde @ 2011-04-05 15:28 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-kernel, Ivo van Doorn, linux-wireless, netdev

On Tue, Apr 5, 2011 at 4:59 PM, Michal Marek <mmarek@suse.cz> wrote:
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.
>
> Cc: Ivo van Doorn <IvDoorn@gmail.com>
> Cc: Gertjan van Wingerde <gwingerde@gmail.com>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>

Note that this timestamp is not in the kernel log, but in a special
debug file in debugfs.
However, I cannot see how a timestamp is actually useful for debugging
the driver, so

Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2x00debug.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c
> index c92db32..66166ef 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00debug.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00debug.c
> @@ -568,7 +568,6 @@ static struct dentry *rt2x00debug_create_file_driver(const char *name,
>        blob->data = data;
>        data += sprintf(data, "driver:\t%s\n", intf->rt2x00dev->ops->name);
>        data += sprintf(data, "version:\t%s\n", DRV_VERSION);
> -       data += sprintf(data, "compiled:\t%s %s\n", __DATE__, __TIME__);
>        blob->size = strlen(blob->data);
>
>        return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);
> --
> 1.7.4.1
>
>



-- 
---
Gertjan

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 15:10   ` Armin Schindler
@ 2011-04-05 15:37     ` Ben Hutchings
  2011-04-05 16:07       ` Armin Schindler
  2011-04-05 19:17     ` Valdis.Kletnieks
  2011-05-25 20:38     ` Michal Marek
  2 siblings, 1 reply; 38+ messages in thread
From: Ben Hutchings @ 2011-04-05 15:37 UTC (permalink / raw)
  To: Armin Schindler; +Cc: Michal Marek, linux-kbuild, linux-kernel, netdev

On Tue, 2011-04-05 at 17:10 +0200, Armin Schindler wrote:
> On Tue, 5 Apr 2011, Michal Marek wrote:
> > The kernel already prints its build timestamp during boot, no need to
> > repeat it in random drivers and produce different object files each
> > time.
> 
> The module can be build separately from the kernel, therefore it can have
> an own build timestamp.
[...]

If you want to distribute an out-of-tree version, that's your own
business.  It shouldn't limit what is done with the in-tree version.
Perhaps we could make modpost add a build timestamp to OOT modules,
though.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
                   ` (6 preceding siblings ...)
  2011-04-05 14:59 ` [PATCH 29/34] tipc: " Michal Marek
@ 2011-04-05 15:49 ` Greg KH
  2011-04-05 18:16   ` James Bottomley
                     ` (2 more replies)
  2011-04-06  9:01 ` Ingo Molnar
  8 siblings, 3 replies; 38+ messages in thread
From: Greg KH @ 2011-04-05 15:49 UTC (permalink / raw)
  To: Michal Marek
  Cc: anil_ravindranath, mchehab, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-media,
	arnaud.giersch, linux-kbuild, teigland, tony.olech, apw,
	linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	jon.maloy, linux-scsi, linuxppc-dev, linux-usb, linux-wireless,
	linux-kernel, bluesmoke-

On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
> 
> Hi,
> 
> this series makes it possible to build bit-identical kernel image and
> modules from identical sources. Of course the build is already
> deterministic in terms of behavior of the code, but the various
> timestamps embedded in the object files make it hard to compare two
> builds, for instance to verify that a makefile cleanup didn't
> accidentally change something. A prime example is /proc/config.gz, which
> has both a timestamp in the gzip header and a timestamp in the payload
> data. With this series applied, a script like this will produce
> identical kernels each time:

Very nice stuff.  Do you want to take the individual patches through one
of your trees, or do you mind if the subsystem maintainers take them
through theirs?

thanks,

greg k-h

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 15:37     ` Ben Hutchings
@ 2011-04-05 16:07       ` Armin Schindler
  2011-04-05 20:01         ` Sam Ravnborg
  0 siblings, 1 reply; 38+ messages in thread
From: Armin Schindler @ 2011-04-05 16:07 UTC (permalink / raw)
  To: Ben Hutchings; +Cc: Michal Marek, linux-kbuild, linux-kernel, netdev

On Tue, 5 Apr 2011, Ben Hutchings wrote:
> On Tue, 2011-04-05 at 17:10 +0200, Armin Schindler wrote:
>> On Tue, 5 Apr 2011, Michal Marek wrote:
>>> The kernel already prints its build timestamp during boot, no need to
>>> repeat it in random drivers and produce different object files each
>>> time.
>>
>> The module can be build separately from the kernel, therefore it can have
>> an own build timestamp.
> [...]
>
> If you want to distribute an out-of-tree version, that's your own
> business.  It shouldn't limit what is done with the in-tree version.
> Perhaps we could make modpost add a build timestamp to OOT modules,
> though.

I know out-of-tree stuff doesn't matter here. But I'm thinking
about just doing 'make modules'.

Armin

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
@ 2011-04-05 18:16   ` James Bottomley
  2011-04-05 18:29     ` Mauro Carvalho Chehab
  2011-04-05 19:24   ` Artem Bityutskiy
  2011-04-06  9:23   ` Michal Marek
  2 siblings, 1 reply; 38+ messages in thread
From: James Bottomley @ 2011-04-05 18:16 UTC (permalink / raw)
  To: Greg KH
  Cc: anil_ravindranath, mchehab, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-media,
	jon.maloy, arnaud.giersch, linux-kbuild, teigland, tony.olech,
	apw, linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	Michal Marek, linux-scsi, linuxppc-dev, linux-usb, linux-wireless,
	linux-ker

On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
> > 
> > Hi,
> > 
> > this series makes it possible to build bit-identical kernel image and
> > modules from identical sources. Of course the build is already
> > deterministic in terms of behavior of the code, but the various
> > timestamps embedded in the object files make it hard to compare two
> > builds, for instance to verify that a makefile cleanup didn't
> > accidentally change something. A prime example is /proc/config.gz, which
> > has both a timestamp in the gzip header and a timestamp in the payload
> > data. With this series applied, a script like this will produce
> > identical kernels each time:
> 
> Very nice stuff.  Do you want to take the individual patches through one
> of your trees, or do you mind if the subsystem maintainers take them
> through theirs?

I'm happy for this to go through a single tree.

James

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 18:16   ` James Bottomley
@ 2011-04-05 18:29     ` Mauro Carvalho Chehab
  2011-04-05 18:44       ` Greg KH
  0 siblings, 1 reply; 38+ messages in thread
From: Mauro Carvalho Chehab @ 2011-04-05 18:29 UTC (permalink / raw)
  To: James Bottomley
  Cc: anil_ravindranath, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-media,
	jon.maloy, arnaud.giersch, linux-kbuild, teigland, tony.olech,
	apw, linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	Michal Marek, linux-scsi, linuxppc-dev, Greg KH, linux-wireless,
	linux-kernel

Em 05-04-2011 15:16, James Bottomley escreveu:
> On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
>> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
>>>
>>> Hi,
>>>
>>> this series makes it possible to build bit-identical kernel image and
>>> modules from identical sources. Of course the build is already
>>> deterministic in terms of behavior of the code, but the various
>>> timestamps embedded in the object files make it hard to compare two
>>> builds, for instance to verify that a makefile cleanup didn't
>>> accidentally change something. A prime example is /proc/config.gz, which
>>> has both a timestamp in the gzip header and a timestamp in the payload
>>> data. With this series applied, a script like this will produce
>>> identical kernels each time:
>>
>> Very nice stuff.  Do you want to take the individual patches through one
>> of your trees, or do you mind if the subsystem maintainers take them
>> through theirs?
> 
> I'm happy for this to go through a single tree.

Me too.

With respect to the patches I was c/c (patches 13, 14, 31):

Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>

Thanks,
Mauro.

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

* Re: [PATCH 19/34] rt2x00: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 19/34] rt2x00: " Michal Marek
  2011-04-05 15:28   ` Gertjan van Wingerde
@ 2011-04-05 18:37   ` Ivo Van Doorn
  1 sibling, 0 replies; 38+ messages in thread
From: Ivo Van Doorn @ 2011-04-05 18:37 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-kernel, Gertjan van Wingerde, linux-wireless,
	netdev

On Tue, Apr 5, 2011 at 4:59 PM, Michal Marek <mmarek@suse.cz> wrote:
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.
>
> Cc: Ivo van Doorn <IvDoorn@gmail.com>
> Cc: Gertjan van Wingerde <gwingerde@gmail.com>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>

Acked-by: Ivo van Doorn <IvDoorn@gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2x00debug.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c
> index c92db32..66166ef 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00debug.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00debug.c
> @@ -568,7 +568,6 @@ static struct dentry *rt2x00debug_create_file_driver(const char *name,
>        blob->data = data;
>        data += sprintf(data, "driver:\t%s\n", intf->rt2x00dev->ops->name);
>        data += sprintf(data, "version:\t%s\n", DRV_VERSION);
> -       data += sprintf(data, "compiled:\t%s %s\n", __DATE__, __TIME__);
>        blob->size = strlen(blob->data);
>
>        return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);
> --
> 1.7.4.1
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 18:29     ` Mauro Carvalho Chehab
@ 2011-04-05 18:44       ` Greg KH
  0 siblings, 0 replies; 38+ messages in thread
From: Greg KH @ 2011-04-05 18:44 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: anil_ravindranath, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-media,
	jon.maloy, arnaud.giersch, linux-kbuild, teigland, tony.olech,
	apw, linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	Michal Marek, linux-scsi, linuxppc-dev, linux-usb, linux-wireless,
	linux-kernel

On Tue, Apr 05, 2011 at 03:29:19PM -0300, Mauro Carvalho Chehab wrote:
> Em 05-04-2011 15:16, James Bottomley escreveu:
> > On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
> >> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
> >>>
> >>> Hi,
> >>>
> >>> this series makes it possible to build bit-identical kernel image and
> >>> modules from identical sources. Of course the build is already
> >>> deterministic in terms of behavior of the code, but the various
> >>> timestamps embedded in the object files make it hard to compare two
> >>> builds, for instance to verify that a makefile cleanup didn't
> >>> accidentally change something. A prime example is /proc/config.gz, which
> >>> has both a timestamp in the gzip header and a timestamp in the payload
> >>> data. With this series applied, a script like this will produce
> >>> identical kernels each time:
> >>
> >> Very nice stuff.  Do you want to take the individual patches through one
> >> of your trees, or do you mind if the subsystem maintainers take them
> >> through theirs?
> > 
> > I'm happy for this to go through a single tree.
> 
> Me too.
> 
> With respect to the patches I was c/c (patches 13, 14, 31):
> 
> Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>

Me too.

Acked-by: Greg Kroah-Hartman <gregkh@suse.de>

on the patches I was copied on.

thanks,

greg k-h

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 15:10   ` Armin Schindler
  2011-04-05 15:37     ` Ben Hutchings
@ 2011-04-05 19:17     ` Valdis.Kletnieks
  2011-04-06  8:06       ` Michal Marek
  2011-05-25 20:38     ` Michal Marek
  2 siblings, 1 reply; 38+ messages in thread
From: Valdis.Kletnieks @ 2011-04-05 19:17 UTC (permalink / raw)
  To: Armin Schindler; +Cc: Michal Marek, linux-kbuild, linux-kernel, netdev

[-- Attachment #1: Type: text/plain, Size: 857 bytes --]

On Tue, 05 Apr 2011 17:10:34 +0200, Armin Schindler said:
> On Tue, 5 Apr 2011, Michal Marek wrote:
> > The kernel already prints its build timestamp during boot, no need to
> > repeat it in random drivers and produce different object files each
> > time.
> 
> The module can be build separately from the kernel, therefore it can have
> an own build timestamp.

If the same code is being built as an out-of-tree module, that's a possibly
good reason for a code version variable, but what does the build timestamp
actually tell you?  If you already know foo_driver.c version 0.814 was buiilt
against 2.6.41-rc2, in what cases does it matter if the compile was on Tuesday
or Thursday - especially since an 'ls -l foo_driver.ko' will tell you?  If it's
a matter of "the target .config changed on Wednesday", a build timestamp still
doesn't help over 'ls -l'.


[-- Attachment #2: Type: application/pgp-signature, Size: 227 bytes --]

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
  2011-04-05 18:16   ` James Bottomley
@ 2011-04-05 19:24   ` Artem Bityutskiy
  2011-04-06  8:57     ` Ingo Molnar
  2011-04-06  9:07     ` Michal Marek
  2011-04-06  9:23   ` Michal Marek
  2 siblings, 2 replies; 38+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 19:24 UTC (permalink / raw)
  To: Greg KH
  Cc: anil_ravindranath, mchehab, benh, mac, aacraid, linux-mtd,
	allan.stephens, hpa, t.sailer, gwingerde, x86, elf, cluster-devel,
	ccaulfie, mingo, dougthompson, dwmw2, linux-media, jon.maloy,
	arnaud.giersch, linux-kbuild, IvDoorn, teigland, tony.olech, apw,
	linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	Michal Marek, linux-scsi, netdev, linux-usb, linux-wireless,
	linux-kernel

On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
> > 
> > Hi,
> > 
> > this series makes it possible to build bit-identical kernel image and
> > modules from identical sources. Of course the build is already
> > deterministic in terms of behavior of the code, but the various
> > timestamps embedded in the object files make it hard to compare two
> > builds, for instance to verify that a makefile cleanup didn't
> > accidentally change something. A prime example is /proc/config.gz, which
> > has both a timestamp in the gzip header and a timestamp in the payload
> > data. With this series applied, a script like this will produce
> > identical kernels each time:
> 
> Very nice stuff.  Do you want to take the individual patches through one
> of your trees, or do you mind if the subsystem maintainers take them
> through theirs?

But unfortunately, it is very easy to break this and for sure it'll be
broken very soon.

So additionally, I'd suggest:
1. Instrument checkpatch.pl and make it err or warn on timestamps.
2. Probably instrument linux-next to rise a warning when people break
   this.

-- 
Best Regards,
Artem Bityutskiy (Битюцкий Артём)


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 16:07       ` Armin Schindler
@ 2011-04-05 20:01         ` Sam Ravnborg
  0 siblings, 0 replies; 38+ messages in thread
From: Sam Ravnborg @ 2011-04-05 20:01 UTC (permalink / raw)
  To: Armin Schindler
  Cc: Ben Hutchings, Michal Marek, linux-kbuild, linux-kernel, netdev

On Tue, Apr 05, 2011 at 06:07:05PM +0200, Armin Schindler wrote:
> On Tue, 5 Apr 2011, Ben Hutchings wrote:
>> On Tue, 2011-04-05 at 17:10 +0200, Armin Schindler wrote:
>>> On Tue, 5 Apr 2011, Michal Marek wrote:
>>>> The kernel already prints its build timestamp during boot, no need to
>>>> repeat it in random drivers and produce different object files each
>>>> time.
>>>
>>> The module can be build separately from the kernel, therefore it can have
>>> an own build timestamp.
>> [...]
>>
>> If you want to distribute an out-of-tree version, that's your own
>> business.  It shouldn't limit what is done with the in-tree version.
>> Perhaps we could make modpost add a build timestamp to OOT modules,
>> though.
>
> I know out-of-tree stuff doesn't matter here. But I'm thinking
> about just doing 'make modules'.

If we needs this somehow a generic solution is required.
Ad hoc solutions in some modules is not the way to go.

	Sam

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

* Re: [PATCH 29/34] tipc: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 29/34] tipc: " Michal Marek
@ 2011-04-05 22:25   ` Paul Gortmaker
  0 siblings, 0 replies; 38+ messages in thread
From: Paul Gortmaker @ 2011-04-05 22:25 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-kernel, Jon Maloy, Allan Stephens,
	tipc-discussion, netdev

On Tue, Apr 5, 2011 at 10:59 AM, Michal Marek <mmarek@suse.cz> wrote:
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.

I'll make sure this gets bundled into the next batch of tipc updates
I proxy to DaveM.   The ccache users should be happier.

Thanks,
Paul.

>
> Cc: Jon Maloy <jon.maloy@ericsson.com>
> Cc: Allan Stephens <allan.stephens@windriver.com>
> Cc: tipc-discussion@lists.sourceforge.net
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  net/tipc/core.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/net/tipc/core.c b/net/tipc/core.c
> index e071579..33532fe 100644
> --- a/net/tipc/core.c
> +++ b/net/tipc/core.c
> @@ -185,8 +185,7 @@ static int __init tipc_init(void)
>        if (tipc_log_resize(CONFIG_TIPC_LOG) != 0)
>                warn("Unable to create log buffer\n");
>
> -       info("Activated (version " TIPC_MOD_VER
> -            " compiled " __DATE__ " " __TIME__ ")\n");
> +       info("Activated (version " TIPC_MOD_VER ")\n");
>
>        tipc_own_addr = 0;
>        tipc_remote_management = 1;
> --
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 19:17     ` Valdis.Kletnieks
@ 2011-04-06  8:06       ` Michal Marek
  0 siblings, 0 replies; 38+ messages in thread
From: Michal Marek @ 2011-04-06  8:06 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: Armin Schindler, linux-kbuild, linux-kernel, netdev

On 5.4.2011 21:17, Valdis.Kletnieks@vt.edu wrote:
> On Tue, 05 Apr 2011 17:10:34 +0200, Armin Schindler said:
>> On Tue, 5 Apr 2011, Michal Marek wrote:
>>> The kernel already prints its build timestamp during boot, no need to
>>> repeat it in random drivers and produce different object files each
>>> time.
>>
>> The module can be build separately from the kernel, therefore it can have
>> an own build timestamp.
> 
> If the same code is being built as an out-of-tree module, that's a possibly
> good reason for a code version variable, but what does the build timestamp
> actually tell you?  If you already know foo_driver.c version 0.814 was buiilt
> against 2.6.41-rc2, in what cases does it matter if the compile was on Tuesday
> or Thursday - especially since an 'ls -l foo_driver.ko' will tell you?  If it's
> a matter of "the target .config changed on Wednesday", a build timestamp still
> doesn't help over 'ls -l'.

Exactly. Build timestamps are only a poor substitute for proper version
tracking. If you want to be able to reproduce the build of a binary, you
want it to embed some source revision, not the date when you built it.
For the kernel, you can use KBUILD_BUILD_TIMESTAMP=<source timestamp>,
for out-of-tree modules, you need to come up with something own.

Michal

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 19:24   ` Artem Bityutskiy
@ 2011-04-06  8:57     ` Ingo Molnar
  2011-04-06  9:07     ` Michal Marek
  1 sibling, 0 replies; 38+ messages in thread
From: Ingo Molnar @ 2011-04-06  8:57 UTC (permalink / raw)
  To: Artem Bityutskiy
  Cc: anil_ravindranath, mchehab, benh, mac, aacraid, linux-mtd,
	allan.stephens, hpa, t.sailer, gwingerde, x86, elf, cluster-devel,
	ccaulfie, mingo, dougthompson, tipc-discussion, dwmw2,
	linux-media, jon.maloy, arnaud.giersch, linux-kbuild, IvDoorn,
	teigland, tony.olech, apw, linux-hams, tglx, swhiteho,
	linux-arm-kernel, linux-edac, Michal Marek, linux-scsi, netdev,
	Greg KH, linux-wireless


* Artem Bityutskiy <dedekind1@gmail.com> wrote:

> On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
> > On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
> > > 
> > > Hi,
> > > 
> > > this series makes it possible to build bit-identical kernel image and
> > > modules from identical sources. Of course the build is already
> > > deterministic in terms of behavior of the code, but the various
> > > timestamps embedded in the object files make it hard to compare two
> > > builds, for instance to verify that a makefile cleanup didn't
> > > accidentally change something. A prime example is /proc/config.gz, which
> > > has both a timestamp in the gzip header and a timestamp in the payload
> > > data. With this series applied, a script like this will produce
> > > identical kernels each time:
> > 
> > Very nice stuff.  Do you want to take the individual patches through one
> > of your trees, or do you mind if the subsystem maintainers take them
> > through theirs?
> 
> But unfortunately, it is very easy to break this and for sure it'll be
> broken very soon.
> 
> So additionally, I'd suggest:
> 1. Instrument checkpatch.pl and make it err or warn on timestamps.

See the grandparent mail:

  checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__

Thanks,

	Ingo

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
                   ` (7 preceding siblings ...)
  2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
@ 2011-04-06  9:01 ` Ingo Molnar
  8 siblings, 0 replies; 38+ messages in thread
From: Ingo Molnar @ 2011-04-06  9:01 UTC (permalink / raw)
  To: Michal Marek
  Cc: anil_ravindranath, mchehab, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-usb,
	linux-media, arnaud.giersch, linux-kbuild, teigland, tony.olech,
	apw, linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	jon.maloy, linux-scsi, linuxppc-dev, gregkh, linux-wireless,
	linux-kernel


* Michal Marek <mmarek@suse.cz> wrote:

> 
> Hi,
> 
> this series makes it possible to build bit-identical kernel image and
> modules from identical sources. Of course the build is already
> deterministic in terms of behavior of the code, but the various
> timestamps embedded in the object files make it hard to compare two
> builds, for instance to verify that a makefile cleanup didn't
> accidentally change something. A prime example is /proc/config.gz, which
> has both a timestamp in the gzip header and a timestamp in the payload
> data. With this series applied, a script like this will produce
> identical kernels each time:
> 
> #!/bin/bash
> rm -rf /dev/shm/{source,build}{,1,2}
> export KCONFIG_NOTIMESTAMP=1
> export KBUILD_BUILD_TIMESTAMP='Sun May  1 12:00:00 CEST 2011'
> export KBUILD_BUILD_USER=user
> export KBUILD_BUILD_HOST=host
> export ROOT_DEV=FLOPPY
> for i in 1 2; do
> 	mkdir /dev/shm/source
> 	# randomize the inode order just for fun
> 	git ls-tree -r -z --name-only HEAD | sort -R -z | xargs -0 \
> 		cp --parents --target=/dev/shm/source
> 	pushd /dev/shm/source
> 	mkdir /dev/shm/build
> 	>/dev/shm/build/all.config
> 	for opt in GCOV_KERNEL UBIFS_FS_DEBUG; do
> 		echo "# CONFIG_$opt is not set" >>"/dev/shm/build"/all.config
> 	done
> 	make O="/dev/shm/build" KCONFIG_ALLCONFIG=1 allmodconfig
> 	make O="/dev/shm/build" -j64
> 	popd
> 	mv /dev/shm/source /dev/shm/source$i
> 	mv /dev/shm/build /dev/shm/build$i
> done
> diff -rq /dev/shm/build{1,2}

Nice!

Acked-by: Ingo Molnar <mingo@elte.hu>

> Unfortunatelly, this cannot be used to validate indentation-only
> patches, even if CONFIG_DEBUG_INFO is turned off. This is because of the
> __FILE__ and __LINE__ macros used in many places. For the same reason,
> the source and build directory needs to be the same, otherwise the
> results will differ.

Nor can it be used to validate untrusted patches in general: a subtle change 
might be introduced in a piece of code that is dependent on a .config detail 
that is off for that particular build.

But in the common case it's nice to be able to have deterministic/reproducable 
builds.

Thanks,

	Ingo

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 19:24   ` Artem Bityutskiy
  2011-04-06  8:57     ` Ingo Molnar
@ 2011-04-06  9:07     ` Michal Marek
  2011-04-06  9:25       ` Artem Bityutskiy
  1 sibling, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-04-06  9:07 UTC (permalink / raw)
  To: dedekind1
  Cc: anil_ravindranath, mchehab, benh, mac, aacraid, linux-mtd,
	allan.stephens, hpa, t.sailer, gwingerde, x86, elf, cluster-devel,
	ccaulfie, mingo, dougthompson, tipc-discussion, dwmw2,
	linux-media, arnaud.giersch, linux-kbuild, IvDoorn, teigland,
	tony.olech, apw, linux-hams, tglx, swhiteho, linux-arm-kernel,
	linux-edac, jon.maloy, linux-scsi, netdev, Greg KH,
	linux-wireless, linux-kernel@

On 5.4.2011 21:24, Artem Bityutskiy wrote:
> On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
>> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
>>>
>>> Hi,
>>>
>>> this series makes it possible to build bit-identical kernel image and
>>> modules from identical sources. Of course the build is already
>>> deterministic in terms of behavior of the code, but the various
>>> timestamps embedded in the object files make it hard to compare two
>>> builds, for instance to verify that a makefile cleanup didn't
>>> accidentally change something. A prime example is /proc/config.gz, which
>>> has both a timestamp in the gzip header and a timestamp in the payload
>>> data. With this series applied, a script like this will produce
>>> identical kernels each time:
>>
>> Very nice stuff.  Do you want to take the individual patches through one
>> of your trees, or do you mind if the subsystem maintainers take them
>> through theirs?
> 
> But unfortunately, it is very easy to break this and for sure it'll be
> broken very soon.

I'm not so pessimistic. 34 patches and 57 files might sound like a lot,
but given that this has been accumulating since day one, the cleanup
should last for some time.


> So additionally, I'd suggest:
> 1. Instrument checkpatch.pl and make it err or warn on timestamps.

This is patch 34/34 in this series: https://lkml.org/lkml/2011/4/5/198


> 2. Probably instrument linux-next to rise a warning when people break
>    this.

I'm not sure if Stephen has that much spare time, and I don't think it
is necessary. I think the checkpatch check is sufficient and I'll check
myself occasionally.

Michal

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
  2011-04-05 18:16   ` James Bottomley
  2011-04-05 19:24   ` Artem Bityutskiy
@ 2011-04-06  9:23   ` Michal Marek
  2 siblings, 0 replies; 38+ messages in thread
From: Michal Marek @ 2011-04-06  9:23 UTC (permalink / raw)
  To: Greg KH
  Cc: anil_ravindranath, mchehab, benh, x86, mac, aacraid, linux-mtd,
	allan.stephens, hpa, netdev, t.sailer, gwingerde, IvDoorn, elf,
	cluster-devel, ccaulfie, mingo, dougthompson, linux-media,
	arnaud.giersch, linux-kbuild, teigland, tony.olech, apw,
	linux-hams, tglx, swhiteho, linux-arm-kernel, linux-edac,
	jon.maloy, linux-scsi, linuxppc-dev, linux-usb, linux-wireless,
	linux-kernel, bluesmoke-

On 5.4.2011 17:49, Greg KH wrote:
> Very nice stuff.  Do you want to take the individual patches through one
> of your trees, or do you mind if the subsystem maintainers take them
> through theirs?

I'd leave it up to the subsystem maintainers. I'll check once the merge
window opens and send the remaining patches to Linus directly.

Michal

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-06  9:07     ` Michal Marek
@ 2011-04-06  9:25       ` Artem Bityutskiy
  0 siblings, 0 replies; 38+ messages in thread
From: Artem Bityutskiy @ 2011-04-06  9:25 UTC (permalink / raw)
  To: Michal Marek
  Cc: anil_ravindranath, mchehab, benh, mac, aacraid, linux-mtd,
	allan.stephens, hpa, t.sailer, gwingerde, x86, elf, cluster-devel,
	ccaulfie, mingo, dougthompson, tipc-discussion, dwmw2,
	linux-media, arnaud.giersch, linux-kbuild, IvDoorn, teigland,
	tony.olech, apw, linux-hams, tglx, swhiteho, linux-arm-kernel,
	linux-edac, jon.maloy, linux-scsi, netdev, Greg KH,
	linux-wireless, linux-kernel@

On Wed, 2011-04-06 at 11:07 +0200, Michal Marek wrote:
> > So additionally, I'd suggest:
> > 1. Instrument checkpatch.pl and make it err or warn on timestamps.
> 
> This is patch 34/34 in this series: https://lkml.org/lkml/2011/4/5/198

Yeah, great, did not notice, thanks!

> > 2. Probably instrument linux-next to rise a warning when people break
> >    this.
> 
> I'm not sure if Stephen has that much spare time, and I don't think it
> is necessary. I think the checkpatch check is sufficient and I'll check
> myself occasionally.

Yes, that's fine, I just wanted to speak this out - there is a
probability that someone gets excited and creates some instrumentation
to kbuild to automatically detect bad things and then Stephen could
easily use that.

WRT "not necessary" - well, I think it is always better to cut bad
things before they are merged, rather than afterwards.

But anyway, let's forget about this.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 17/34] hdlcdrv: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 17/34] hdlcdrv: " Michal Marek
@ 2011-04-19 10:17   ` walter harms
  2011-04-19 10:56     ` Michal Marek
       [not found]   ` <1302015790.4124.54.camel@xbox360.hq.axsem.com>
  1 sibling, 1 reply; 38+ messages in thread
From: walter harms @ 2011-04-19 10:17 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, Thomas Sailer, linux-hams, netdev



Am 05.04.2011 16:59, schrieb Michal Marek:
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.
> 
> Cc: Thomas Sailer <t.sailer@alumni.ethz.ch>
> Cc: linux-hams@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/net/hamradio/hdlcdrv.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
> index 5b37579..a4a3516 100644
> --- a/drivers/net/hamradio/hdlcdrv.c
> +++ b/drivers/net/hamradio/hdlcdrv.c
> @@ -749,7 +749,7 @@ EXPORT_SYMBOL(hdlcdrv_unregister);
>  static int __init hdlcdrv_init_driver(void)
>  {
>  	printk(KERN_INFO "hdlcdrv: (C) 1996-2000 Thomas Sailer HB9JNX/AE4WA\n");
> -	printk(KERN_INFO "hdlcdrv: version 0.8 compiled " __TIME__ " " __DATE__ "\n");
> +	printk(KERN_INFO "hdlcdrv: version 0.8\n");
>  	return 0;
>  }
>  

Its a bit late but i am not a big fan of hard coded version id's.
Does GIT provide something like that ? If not
IMHO the line
 printk(KERN_INFO "hdlcdrv: version 0.8\n");
can be removed.

re,
 wh

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

* Re: [PATCH 17/34] hdlcdrv: Drop __TIME__ usage
  2011-04-19 10:17   ` walter harms
@ 2011-04-19 10:56     ` Michal Marek
  0 siblings, 0 replies; 38+ messages in thread
From: Michal Marek @ 2011-04-19 10:56 UTC (permalink / raw)
  To: wharms; +Cc: linux-kbuild, Thomas Sailer, linux-hams, netdev

On 19.4.2011 12:17, walter harms wrote:
> Am 05.04.2011 16:59, schrieb Michal Marek:
>> --- a/drivers/net/hamradio/hdlcdrv.c
>> +++ b/drivers/net/hamradio/hdlcdrv.c
>> @@ -749,7 +749,7 @@ EXPORT_SYMBOL(hdlcdrv_unregister);
>>  static int __init hdlcdrv_init_driver(void)
>>  {
>>  	printk(KERN_INFO "hdlcdrv: (C) 1996-2000 Thomas Sailer HB9JNX/AE4WA\n");
>> -	printk(KERN_INFO "hdlcdrv: version 0.8 compiled " __TIME__ " " __DATE__ "\n");
>> +	printk(KERN_INFO "hdlcdrv: version 0.8\n");
>>  	return 0;
>>  }
>>  
> 
> Its a bit late but i am not a big fan of hard coded version id's.
> Does GIT provide something like that ? If not
> IMHO the line
>  printk(KERN_INFO "hdlcdrv: version 0.8\n");
> can be removed.

OK, submit a separate patch then. I personally don't care about version
id's, as long as they do not embed any timestamp ;-).

Michal

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

* Re: [PATCH 15/34] baycom: Drop __TIME__ usage
       [not found]   ` <1302015780.4124.53.camel@xbox360.hq.axsem.com>
@ 2011-05-25 15:23     ` Michal Marek
  0 siblings, 0 replies; 38+ messages in thread
From: Michal Marek @ 2011-05-25 15:23 UTC (permalink / raw)
  To: Thomas Sailer
  Cc: linux-kbuild, linux-hams, Linux Kernel Network Developers, lkml

On 5.4.2011 17:03, Thomas Sailer wrote:
> On Tue, 2011-04-05 at 16:59 +0200, Michal Marek wrote:
>> The kernel already prints its build timestamp during boot, no need to
>> repeat it in random drivers and produce different object files each
>> time.
>>
>> Cc: Thomas Sailer<t.sailer@alumni.ethz.ch>
>> Cc: linux-hams@vger.kernel.org
>> Cc: netdev@vger.kernel.org
>> Signed-off-by: Michal Marek<mmarek@suse.cz>
> Acked-By: Thomas Sailer<t.sailer@alumni.ethz.ch>

I didn't found the commit in today's linux-next, so I applied this to 
kbuild-2.6.git#trivial.

Michal

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

* Re: [PATCH 17/34] hdlcdrv: Drop __TIME__ usage
       [not found]   ` <1302015790.4124.54.camel@xbox360.hq.axsem.com>
@ 2011-05-25 15:24     ` Michal Marek
  0 siblings, 0 replies; 38+ messages in thread
From: Michal Marek @ 2011-05-25 15:24 UTC (permalink / raw)
  To: Thomas Sailer
  Cc: linux-kbuild, lkml, linux-hams, Linux Kernel Network Developers

On 5.4.2011 17:03, Thomas Sailer wrote:
> On Tue, 2011-04-05 at 16:59 +0200, Michal Marek wrote:
>> The kernel already prints its build timestamp during boot, no need to
>> repeat it in random drivers and produce different object files each
>> time.
>>
>> Cc: Thomas Sailer<t.sailer@alumni.ethz.ch>
>> Cc: linux-hams@vger.kernel.org
>> Cc: netdev@vger.kernel.org
>> Signed-off-by: Michal Marek<mmarek@suse.cz>
> Acked-By: Thomas Sailer<t.sailer@alumni.ethz.ch>
>
> Ok with me

I didn't find the commit in today's linux-next, so I applied this to
kbuild-2.6.git#trivial.

Michal

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 15:10   ` Armin Schindler
  2011-04-05 15:37     ` Ben Hutchings
  2011-04-05 19:17     ` Valdis.Kletnieks
@ 2011-05-25 20:38     ` Michal Marek
  2011-05-26  8:15       ` Armin Schindler
  2 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-05-25 20:38 UTC (permalink / raw)
  To: Armin Schindler; +Cc: linux-kbuild, linux-kernel, netdev

Dne 5.4.2011 17:10, Armin Schindler napsal(a):
> On Tue, 5 Apr 2011, Michal Marek wrote:
>> The kernel already prints its build timestamp during boot, no need to
>> repeat it in random drivers and produce different object files each
>> time.
> 
> The module can be build separately from the kernel, therefore it can have
> an own build timestamp.

So the module timestamp and kernel timestamp vary by a couple of
minutes. But is it really a problem? I don't think so. So is there an
objection against applying this patch?

thanks,
Michal

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

* Re: [PATCH 18/34] wan/pc300: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 18/34] wan/pc300: " Michal Marek
@ 2011-05-25 20:43   ` Michal Marek
  2011-05-25 20:44     ` David Miller
  0 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-05-25 20:43 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, David S. Miller, netdev

Dne 5.4.2011 16:59, Michal Marek napsal(a):
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/net/wan/pc300_drv.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

I don't see the patch in today's linux-next. Does anyone object against
me applying it to kbuild-2.6.git?

Thanks,
Michal


> diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c
> index f875cfa..80ae503 100644
> --- a/drivers/net/wan/pc300_drv.c
> +++ b/drivers/net/wan/pc300_drv.c
> @@ -3242,8 +3242,7 @@ static inline void show_version(void)
>  	rcsdate++;
>  	tmp = strrchr(rcsdate, ' ');
>  	*tmp = '\0';
> -	printk(KERN_INFO "Cyclades-PC300 driver %s %s (built %s %s)\n", 
> -		rcsvers, rcsdate, __DATE__, __TIME__);
> +	printk(KERN_INFO "Cyclades-PC300 driver %s %s\n", rcsvers, rcsdate);
>  }				/* show_version */
>  
>  static const struct net_device_ops cpc_netdev_ops = {

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

* Re: [PATCH 18/34] wan/pc300: Drop __TIME__ usage
  2011-05-25 20:43   ` Michal Marek
@ 2011-05-25 20:44     ` David Miller
  0 siblings, 0 replies; 38+ messages in thread
From: David Miller @ 2011-05-25 20:44 UTC (permalink / raw)
  To: mmarek; +Cc: linux-kbuild, linux-kernel, netdev

From: Michal Marek <mmarek@suse.cz>
Date: Wed, 25 May 2011 22:43:09 +0200

> Dne 5.4.2011 16:59, Michal Marek napsal(a):
>> The kernel already prints its build timestamp during boot, no need to
>> repeat it in random drivers and produce different object files each
>> time.
>> 
>> Cc: "David S. Miller" <davem@davemloft.net>
>> Cc: netdev@vger.kernel.org
>> Signed-off-by: Michal Marek <mmarek@suse.cz>
>> ---
>>  drivers/net/wan/pc300_drv.c |    3 +--
>>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> I don't see the patch in today's linux-next. Does anyone object against
> me applying it to kbuild-2.6.git?

Just do it :-)

Acked-by: David S. Miller <davem@davemloft.net>

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

* Re: [PATCH 28/34] atm: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 28/34] atm: " Michal Marek
@ 2011-05-25 20:49   ` Michal Marek
  2011-05-25 21:39     ` David Miller
  0 siblings, 1 reply; 38+ messages in thread
From: Michal Marek @ 2011-05-25 20:49 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, David S. Miller, netdev

Dne 5.4.2011 16:59, Michal Marek napsal(a):
> The kernel already prints its build timestamp during boot, no need to
> repeat it in random drivers and produce different object files each
> time.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  net/atm/lec.c |    2 +-
>  net/atm/mpc.c |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Hi,

I don't see this patch in today's linux-next. Any objection against me
applying it to the kbuild-2.6.git repository?

Thanks,
Michal


> diff --git a/net/atm/lec.c b/net/atm/lec.c
> index 38754fd..cb14ddf 100644
> --- a/net/atm/lec.c
> +++ b/net/atm/lec.c
> @@ -1173,7 +1173,7 @@ static int __init lane_module_init(void)
>  #endif
>  
>  	register_atm_ioctl(&lane_ioctl_ops);
> -	pr_info("lec.c: " __DATE__ " " __TIME__ " initialized\n");
> +	pr_info("lec.c: initialized\n");
>  	return 0;
>  }
>  
> diff --git a/net/atm/mpc.c b/net/atm/mpc.c
> index 644cdf0..3ccca42 100644
> --- a/net/atm/mpc.c
> +++ b/net/atm/mpc.c
> @@ -1482,7 +1482,7 @@ static __init int atm_mpoa_init(void)
>  	if (mpc_proc_init() != 0)
>  		pr_info("failed to initialize /proc/mpoa\n");
>  
> -	pr_info("mpc.c: " __DATE__ " " __TIME__ " initialized\n");
> +	pr_info("mpc.c: initialized\n");
>  
>  	return 0;
>  }


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

* Re: [PATCH 28/34] atm: Drop __TIME__ usage
  2011-05-25 20:49   ` Michal Marek
@ 2011-05-25 21:39     ` David Miller
  0 siblings, 0 replies; 38+ messages in thread
From: David Miller @ 2011-05-25 21:39 UTC (permalink / raw)
  To: mmarek; +Cc: linux-kbuild, linux-kernel, netdev

From: Michal Marek <mmarek@suse.cz>
Date: Wed, 25 May 2011 22:49:29 +0200

> Dne 5.4.2011 16:59, Michal Marek napsal(a):
>> The kernel already prints its build timestamp during boot, no need to
>> repeat it in random drivers and produce different object files each
>> time.
>> 
>> Cc: "David S. Miller" <davem@davemloft.net>
>> Cc: netdev@vger.kernel.org
>> Signed-off-by: Michal Marek <mmarek@suse.cz>
>> ---
>>  net/atm/lec.c |    2 +-
>>  net/atm/mpc.c |    2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> Hi,
> 
> I don't see this patch in today's linux-next. Any objection against me
> applying it to the kbuild-2.6.git repository?

Please apply it:

Acked-by: David S. Miller <davem@davemloft.net>

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-05-25 20:38     ` Michal Marek
@ 2011-05-26  8:15       ` Armin Schindler
  2011-05-26  8:29         ` Michal Marek
  0 siblings, 1 reply; 38+ messages in thread
From: Armin Schindler @ 2011-05-26  8:15 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel, netdev

On Wed, 25 May 2011, Michal Marek wrote:
> Dne 5.4.2011 17:10, Armin Schindler napsal(a):
>> On Tue, 5 Apr 2011, Michal Marek wrote:
>>> The kernel already prints its build timestamp during boot, no need to
>>> repeat it in random drivers and produce different object files each
>>> time.
>>
>> The module can be build separately from the kernel, therefore it can have
>> an own build timestamp.
>
> So the module timestamp and kernel timestamp vary by a couple of
> minutes. But is it really a problem?

It could be a lot more than minutes. But it isn't a problem.
I just tried to keep the sources in sync with out-of-tree version.

> I don't think so. So is there an
> objection against applying this patch?

No objection. Please go ahead with the patch.

Thanks
Armin

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-05-26  8:15       ` Armin Schindler
@ 2011-05-26  8:29         ` Michal Marek
  0 siblings, 0 replies; 38+ messages in thread
From: Michal Marek @ 2011-05-26  8:29 UTC (permalink / raw)
  To: Armin Schindler; +Cc: linux-kbuild, linux-kernel, netdev

On 26.5.2011 10:15, Armin Schindler wrote:
> On Wed, 25 May 2011, Michal Marek wrote:
>> Dne 5.4.2011 17:10, Armin Schindler napsal(a):
>>> On Tue, 5 Apr 2011, Michal Marek wrote:
>>>> The kernel already prints its build timestamp during boot, no need to
>>>> repeat it in random drivers and produce different object files each
>>>> time.
>>>
>>> The module can be build separately from the kernel, therefore it can have
>>> an own build timestamp.
>>
>> So the module timestamp and kernel timestamp vary by a couple of
>> minutes. But is it really a problem?
> 
> It could be a lot more than minutes. But it isn't a problem.
> I just tried to keep the sources in sync with out-of-tree version.
> 
>> I don't think so. So is there an
>> objection against applying this patch?
> 
> No objection. Please go ahead with the patch.

OK, thanks. Applied to kbuild-2.6.git#trivial.

Michal

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

end of thread, other threads:[~2011-05-26  8:29 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-05 14:58 [PATCH 00/34] Make kernel build deterministic Michal Marek
2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: Drop __TIME__ usage Michal Marek
2011-04-05 15:10   ` Armin Schindler
2011-04-05 15:37     ` Ben Hutchings
2011-04-05 16:07       ` Armin Schindler
2011-04-05 20:01         ` Sam Ravnborg
2011-04-05 19:17     ` Valdis.Kletnieks
2011-04-06  8:06       ` Michal Marek
2011-05-25 20:38     ` Michal Marek
2011-05-26  8:15       ` Armin Schindler
2011-05-26  8:29         ` Michal Marek
2011-04-05 14:59 ` [PATCH 15/34] baycom: " Michal Marek
     [not found]   ` <1302015780.4124.53.camel@xbox360.hq.axsem.com>
2011-05-25 15:23     ` Michal Marek
2011-04-05 14:59 ` [PATCH 17/34] hdlcdrv: " Michal Marek
2011-04-19 10:17   ` walter harms
2011-04-19 10:56     ` Michal Marek
     [not found]   ` <1302015790.4124.54.camel@xbox360.hq.axsem.com>
2011-05-25 15:24     ` Michal Marek
2011-04-05 14:59 ` [PATCH 18/34] wan/pc300: " Michal Marek
2011-05-25 20:43   ` Michal Marek
2011-05-25 20:44     ` David Miller
2011-04-05 14:59 ` [PATCH 19/34] rt2x00: " Michal Marek
2011-04-05 15:28   ` Gertjan van Wingerde
2011-04-05 18:37   ` Ivo Van Doorn
2011-04-05 14:59 ` [PATCH 28/34] atm: " Michal Marek
2011-05-25 20:49   ` Michal Marek
2011-05-25 21:39     ` David Miller
2011-04-05 14:59 ` [PATCH 29/34] tipc: " Michal Marek
2011-04-05 22:25   ` Paul Gortmaker
2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
2011-04-05 18:16   ` James Bottomley
2011-04-05 18:29     ` Mauro Carvalho Chehab
2011-04-05 18:44       ` Greg KH
2011-04-05 19:24   ` Artem Bityutskiy
2011-04-06  8:57     ` Ingo Molnar
2011-04-06  9:07     ` Michal Marek
2011-04-06  9:25       ` Artem Bityutskiy
2011-04-06  9:23   ` Michal Marek
2011-04-06  9:01 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).