All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 14:58 ` Michal Marek
  0 siblings, 0 replies; 174+ 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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 14:58 ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild
  Cc: anil_ravindranath, mchehab, 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, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem


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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 14:58 ` Michal Marek
  0 siblings, 0 replies; 174+ 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, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem


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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 14:58 ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-arm-kernel


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] 174+ messages in thread

* [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h
  2011-04-05 14:58 ` Michal Marek
                   ` (2 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-05 18:57   ` Arnaud Lacombe
  2011-04-18 13:04   ` Michal Marek
  -1 siblings, 2 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

Timestamps in file data are useless and there is already one in .config

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 scripts/kconfig/confdata.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 61c35bf..834eecb 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -784,7 +784,6 @@ int conf_write_autoconf(void)
 	const char *str;
 	const char *name;
 	FILE *out, *tristate, *out_h;
-	time_t now;
 	int i;
 
 	sym_clear_all_valid();
@@ -811,22 +810,19 @@ int conf_write_autoconf(void)
 		return 1;
 	}
 
-	time(&now);
 	fprintf(out, "#\n"
 		     "# Automatically generated make config: don't edit\n"
 		     "# %s\n"
-		     "# %s"
 		     "#\n",
-		     rootmenu.prompt->text, ctime(&now));
+		     rootmenu.prompt->text);
 	fprintf(tristate, "#\n"
 			  "# Automatically generated - do not edit\n"
 			  "\n");
 	fprintf(out_h, "/*\n"
 		       " * Automatically generated C config: don't edit\n"
 		       " * %s\n"
-		       " * %s"
 		       " */\n",
-		       rootmenu.prompt->text, ctime(&now));
+		       rootmenu.prompt->text);
 
 	for_all_symbols(i, sym) {
 		sym_calc_value(sym);
-- 
1.7.4.1


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

* [PATCH 02/34] kbuild: Call gzip with -n
  2011-04-05 14:58 ` Michal Marek
                   ` (3 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-18 13:05   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

The timestamps recorded in the .gz files add no value.

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 scripts/Makefile.lib          |    2 +-
 scripts/gen_initramfs_list.sh |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 1c702ca..93b2b59 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -197,7 +197,7 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
 # ---------------------------------------------------------------------------
 
 quiet_cmd_gzip = GZIP    $@
-cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9 > $@) || \
+cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \
 	(rm -f $@ ; false)
 
 # DTC
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
index 55caecd..4a43fe1 100644
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -226,7 +226,7 @@ cpio_list=
 output="/dev/stdout"
 output_file=""
 is_cpio_compressed=
-compr="gzip -9 -f"
+compr="gzip -n -9 -f"
 
 arg="$1"
 case "$arg" in
@@ -240,7 +240,7 @@ case "$arg" in
 		output_file="$1"
 		cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)"
 		output=${cpio_list}
-		echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f"
+		echo "$output_file" | grep -q "\.gz$" && compr="gzip -n -9 -f"
 		echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f"
 		echo "$output_file" | grep -q "\.lzma$" && compr="lzma -9 -f"
 		echo "$output_file" | grep -q "\.xz$" && \
-- 
1.7.4.1


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

* [PATCH 03/34] powerpc: Call gzip with -n
  2011-04-05 14:58 ` Michal Marek
@ 2011-04-05 14:58   ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev

The timestamps recorded in the .gz files add no value.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 arch/powerpc/boot/wrapper |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index cb97e75..854797b 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -251,7 +251,7 @@ if [ -z "$cacheit" -o ! -f "$vmz$gzip" -o "$vmz$gzip" -ot "$kernel" ]; then
     ${CROSS}objcopy $objflags "$kernel" "$vmz.$$"
 
     if [ -n "$gzip" ]; then
-        gzip -f -9 "$vmz.$$"
+        gzip -n -f -9 "$vmz.$$"
     fi
 
     if [ -n "$cacheit" ]; then
@@ -336,7 +336,7 @@ coff)
     $objbin/hack-coff "$ofile"
     ;;
 cuboot*)
-    gzip -f -9 "$ofile"
+    gzip -n -f -9 "$ofile"
     ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \
             $uboot_version -d "$ofile".gz "$ofile"
     ;;
@@ -383,6 +383,6 @@ ps3)
 
     odir="$(dirname "$ofile.bin")"
     rm -f "$odir/otheros.bld"
-    gzip --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
+    gzip -n --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
     ;;
 esac
-- 
1.7.4.1


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

* [PATCH 03/34] powerpc: Call gzip with -n
@ 2011-04-05 14:58   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linuxppc-dev, Paul Mackerras, linux-kernel

The timestamps recorded in the .gz files add no value.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 arch/powerpc/boot/wrapper |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index cb97e75..854797b 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -251,7 +251,7 @@ if [ -z "$cacheit" -o ! -f "$vmz$gzip" -o "$vmz$gzip" -ot "$kernel" ]; then
     ${CROSS}objcopy $objflags "$kernel" "$vmz.$$"
 
     if [ -n "$gzip" ]; then
-        gzip -f -9 "$vmz.$$"
+        gzip -n -f -9 "$vmz.$$"
     fi
 
     if [ -n "$cacheit" ]; then
@@ -336,7 +336,7 @@ coff)
     $objbin/hack-coff "$ofile"
     ;;
 cuboot*)
-    gzip -f -9 "$ofile"
+    gzip -n -f -9 "$ofile"
     ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \
             $uboot_version -d "$ofile".gz "$ofile"
     ;;
@@ -383,6 +383,6 @@ ps3)
 
     odir="$(dirname "$ofile.bin")"
     rm -f "$odir/otheros.bld"
-    gzip --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
+    gzip -n --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
     ;;
 esac
-- 
1.7.4.1

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

* [PATCH 04/34] kbuild: Use the deterministic mode of ar
  2011-04-05 14:58 ` Michal Marek
                   ` (5 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-18 13:05   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 scripts/Makefile.build |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 4eb99ab..c792698 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -311,7 +311,7 @@ quiet_cmd_link_o_target = LD      $@
 cmd_link_o_target = $(if $(strip $(obj-y)),\
 		      $(LD) $(ld_flags) -r -o $@ $(filter $(obj-y), $^) \
 		      $(cmd_secanalysis),\
-		      rm -f $@; $(AR) rcs $@)
+		      rm -f $@; $(AR) rcsD $@)
 
 $(builtin-target): $(obj-y) FORCE
 	$(call if_changed,link_o_target)
@@ -337,7 +337,7 @@ $(modorder-target): $(subdir-ym) FORCE
 #
 ifdef lib-target
 quiet_cmd_link_l_target = AR      $@
-cmd_link_l_target = rm -f $@; $(AR) rcs $@ $(lib-y)
+cmd_link_l_target = rm -f $@; $(AR) rcsD $@ $(lib-y)
 
 $(lib-target): $(lib-y) FORCE
 	$(call if_changed,link_l_target)
-- 
1.7.4.1


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

* [PATCH 05/34] powerpc: Use the deterministic mode of ar
  2011-04-05 14:58 ` Michal Marek
@ 2011-04-05 14:58   ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 arch/powerpc/boot/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8917816..d028a65 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS  $@
       cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
 
 quiet_cmd_bootar = BOOTAR  $@
-      cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
+      cmd_bootar = $(CROSS32AR) -crD $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
 
 $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
 	$(call if_changed_dep,bootcc)
-- 
1.7.4.1


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

* [PATCH 05/34] powerpc: Use the deterministic mode of ar
@ 2011-04-05 14:58   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linuxppc-dev, Paul Mackerras, linux-kernel

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 arch/powerpc/boot/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8917816..d028a65 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS  $@
       cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
 
 quiet_cmd_bootar = BOOTAR  $@
-      cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
+      cmd_bootar = $(CROSS32AR) -crD $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
 
 $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
 	$(call if_changed_dep,bootcc)
-- 
1.7.4.1

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

* [PATCH 06/34] kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros
  2011-04-05 14:58 ` Michal Marek
                   ` (7 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-18 13:05   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 scripts/mkcompile_h |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index 50ad317..82416a8 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -63,21 +63,9 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
 
   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
 
-  echo \#define LINUX_COMPILE_TIME \"`date +%T`\"
   echo \#define LINUX_COMPILE_BY \"`whoami`\"
   echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
 
-  domain=`dnsdomainname 2> /dev/null`
-  if [ -z "$domain" ]; then
-    domain=`domainname 2> /dev/null`
-  fi
-
-  if [ -n "$domain" ]; then
-    echo \#define LINUX_COMPILE_DOMAIN \"`echo $domain | $UTS_TRUNCATE`\"
-  else
-    echo \#define LINUX_COMPILE_DOMAIN
-  fi
-
   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
 ) > .tmpcompile
 
@@ -91,8 +79,8 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
 # first line.
 
 if [ -r $TARGET ] && \
-      grep -v 'UTS_VERSION\|LINUX_COMPILE_TIME' $TARGET > .tmpver.1 && \
-      grep -v 'UTS_VERSION\|LINUX_COMPILE_TIME' .tmpcompile > .tmpver.2 && \
+      grep -v 'UTS_VERSION' $TARGET > .tmpver.1 && \
+      grep -v 'UTS_VERSION' .tmpcompile > .tmpver.2 && \
       cmp -s .tmpver.1 .tmpver.2; then
    rm -f .tmpcompile
 else
-- 
1.7.4.1


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

* [PATCH 07/34] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-05 14:58 ` Michal Marek
                   ` (8 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-05 15:52   ` Jack Stone
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

Make it possible to override the user@host string displayed during boot
and in /proc/version by the environment variables KBUILD_BUILD_USER and
KBUILD_BUILD_HOST. Several distributions patch scripts/mkcompile_h to
achieve this, so let's provide an official way.

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 Documentation/kbuild/kbuild.txt |   12 ++++++++++++
 scripts/mkcompile_h             |   14 ++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
index 4a99031..27d7928 100644
--- a/Documentation/kbuild/kbuild.txt
+++ b/Documentation/kbuild/kbuild.txt
@@ -196,3 +196,15 @@ to be included in the databases, separated by blank space. E.g.:
 To get all available archs you can also specify all. E.g.:
 
     $ make ALLSOURCE_ARCHS=all tags
+
+KBUILD_BUILD_TIMESTAMP
+--------------------------------------------------
+Setting this to a date string overrides the timestamp used in the
+UTS_VERSION definition (uname -v in the running kernel). The default value
+is the output of the date command at one point during build.
+
+KBUILD_BUILD_USER, KBUILD_BUILD_HOST
+--------------------------------------------------
+These two variables allow to override the user@host string displayed during
+boot and in /proc/version. The default value is the output of the commands
+whoami and host, respectively.
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index 82416a8..82c4e1d 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -42,6 +42,16 @@ if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
 else
 	TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
 fi
+if test -z "$KBUILD_BUILD_USER"; then
+	LINUX_COMPILE_BY=`whoami`
+else
+	LINUX_COMPILE_BY=$KBUILD_BUILD_USER
+fi
+if test -z "$KBUILD_BUILD_HOST"; then
+	LINUX_COMPILE_HOST=`hostname`
+else
+	LINUX_COMPILE_HOST=$KBUILD_BUILD_HOST
+fi
 
 UTS_VERSION="#$VERSION"
 CONFIG_FLAGS=""
@@ -63,8 +73,8 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
 
   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
 
-  echo \#define LINUX_COMPILE_BY \"`whoami`\"
-  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
+  echo \#define LINUX_COMPILE_BY \"`echo $KBUILD_BUILD_USER | $UTS_TRUNCATE`\"
+  echo \#define LINUX_COMPILE_HOST \"`echo $KBUILD_BUILD_HOST | $UTS_TRUNCATE`\"
 
   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
 ) > .tmpcompile
-- 
1.7.4.1


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

* [PATCH 08/34] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  2011-04-05 14:58 ` Michal Marek
                   ` (9 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-05 17:31   ` [08/34] " Milton Miller
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

gen_init_cpio uses the current time for symlinks, special files and
directories. Make it possible to override this with the
KBUILD_BUILD_TIMESTAMP variable for reproducible builds.

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 scripts/gen_initramfs_list.sh |    4 ++++
 usr/gen_init_cpio.c           |   17 +++++++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
index 4a43fe1..18cde32 100644
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -283,6 +283,10 @@ while [ $# -gt 0 ]; do
 	esac
 done
 
+if test -n "$KBUILD_BUILD_TIMESTAMP"; then
+	export CPIO_TIMESTAMP=$(date -d"$KBUILD_BUILD_TIMESTAMP" +%s)
+fi
+
 # If output_file is set we will generate cpio archive and compress it
 # we are carefull to delete tmp files
 if [ ! -z ${output_file} ]; then
diff --git a/usr/gen_init_cpio.c b/usr/gen_init_cpio.c
index 7f06884..11f604d 100644
--- a/usr/gen_init_cpio.c
+++ b/usr/gen_init_cpio.c
@@ -22,6 +22,7 @@
 
 static unsigned int offset;
 static unsigned int ino = 721;
+static time_t default_mtime;
 
 struct file_handler {
 	const char *type;
@@ -102,7 +103,6 @@ static int cpio_mkslink(const char *name, const char *target,
 			 unsigned int mode, uid_t uid, gid_t gid)
 {
 	char s[256];
-	time_t mtime = time(NULL);
 
 	if (name[0] == '/')
 		name++;
@@ -114,7 +114,7 @@ static int cpio_mkslink(const char *name, const char *target,
 		(long) uid,		/* uid */
 		(long) gid,		/* gid */
 		1,			/* nlink */
-		(long) mtime,		/* mtime */
+		(long) default_mtime,	/* mtime */
 		(unsigned)strlen(target)+1, /* filesize */
 		3,			/* major */
 		1,			/* minor */
@@ -152,7 +152,6 @@ static int cpio_mkgeneric(const char *name, unsigned int mode,
 		       uid_t uid, gid_t gid)
 {
 	char s[256];
-	time_t mtime = time(NULL);
 
 	if (name[0] == '/')
 		name++;
@@ -164,7 +163,7 @@ static int cpio_mkgeneric(const char *name, unsigned int mode,
 		(long) uid,		/* uid */
 		(long) gid,		/* gid */
 		2,			/* nlink */
-		(long) mtime,		/* mtime */
+		(long) default_mtime,	/* mtime */
 		0,			/* filesize */
 		3,			/* major */
 		1,			/* minor */
@@ -242,7 +241,6 @@ static int cpio_mknod(const char *name, unsigned int mode,
 		       unsigned int maj, unsigned int min)
 {
 	char s[256];
-	time_t mtime = time(NULL);
 
 	if (dev_type == 'b')
 		mode |= S_IFBLK;
@@ -259,7 +257,7 @@ static int cpio_mknod(const char *name, unsigned int mode,
 		(long) uid,		/* uid */
 		(long) gid,		/* gid */
 		1,			/* nlink */
-		(long) mtime,		/* mtime */
+		(long) default_mtime,	/* mtime */
 		0,			/* filesize */
 		3,			/* major */
 		1,			/* minor */
@@ -529,6 +527,7 @@ int main (int argc, char *argv[])
 	char *args, *type;
 	int ec = 0;
 	int line_nr = 0;
+	const char *env;
 
 	if (2 != argc) {
 		usage(argv[0]);
@@ -544,6 +543,12 @@ int main (int argc, char *argv[])
 		exit(1);
 	}
 
+	env = getenv("CPIO_TIMESTAMP");
+	if (env)
+		default_mtime = atol(env);
+	if (!default_mtime)
+		default_mtime = time(NULL);
+
 	while (fgets(line, LINE_SIZE, cpio_list)) {
 		int type_idx;
 		size_t slen = strlen(line);
-- 
1.7.4.1


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

* [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-05 14:58 ` Michal Marek
                   ` (10 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-05 15:30   ` H. Peter Anvin
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 arch/x86/boot/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index f7cb086..7a70c60 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -13,7 +13,7 @@
 # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
 # the default of FLOPPY is used by 'build'.
 
-ROOT_DEV	:= CURRENT
+ROOT_DEV	?= CURRENT
 
 # If you want to preset the SVGA mode, uncomment the next line and
 # set SVGA_MODE to whatever number you want.
-- 
1.7.4.1


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

* [PATCH 10/34] cyclades: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (11 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-18 22:17   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Greg Kroah-Hartman

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: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/char/cyclades.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 4f152c2..a82ad97 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -4099,8 +4099,7 @@ static int __init cy_init(void)
 	if (!cy_serial_driver)
 		goto err;
 
-	printk(KERN_INFO "Cyclades driver " CY_VERSION " (built %s %s)\n",
-			__DATE__, __TIME__);
+	printk(KERN_INFO "Cyclades driver " CY_VERSION "\n");
 
 	/* Initialize the tty_driver structure */
 
-- 
1.7.4.1


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

* [PATCH 11/34] nozomi: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (12 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Greg Kroah-Hartman

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: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/char/nozomi.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/char/nozomi.c b/drivers/char/nozomi.c
index 294d03e..33f6e6a 100644
--- a/drivers/char/nozomi.c
+++ b/drivers/char/nozomi.c
@@ -61,8 +61,7 @@
 #include <linux/delay.h>
 
 
-#define VERSION_STRING DRIVER_DESC " 2.1d (build date: " \
-					__DATE__ " " __TIME__ ")"
+#define VERSION_STRING DRIVER_DESC " 2.1d"
 
 /*    Macros definitions */
 
-- 
1.7.4.1


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

* [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (13 preceding siblings ...)
  (?)
@ 2011-04-05 14:58 ` Michal Marek
  2011-04-05 15:10   ` Armin Schindler
  -1 siblings, 1 reply; 174+ 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] 174+ messages in thread

* [PATCH 13/34] media/radio-maxiradio: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (14 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:18   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Mauro Carvalho Chehab, linux-media

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: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/media/radio/radio-maxiradio.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/media/radio/radio-maxiradio.c b/drivers/media/radio/radio-maxiradio.c
index 5c2a905..e83e840 100644
--- a/drivers/media/radio/radio-maxiradio.c
+++ b/drivers/media/radio/radio-maxiradio.c
@@ -412,8 +412,7 @@ static int __devinit maxiradio_init_one(struct pci_dev *pdev, const struct pci_d
 		goto err_out_free_region;
 	}
 
-	v4l2_info(v4l2_dev, "version " DRIVER_VERSION
-			" time " __TIME__ "  " __DATE__ "\n");
+	v4l2_info(v4l2_dev, "version " DRIVER_VERSION "\n");
 
 	v4l2_info(v4l2_dev, "found Guillemot MAXI Radio device (io = 0x%x)\n",
 	       dev->io);
-- 
1.7.4.1


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

* [PATCH 14/34] media/cx231xx: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (15 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:18   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Mauro Carvalho Chehab, linux-media

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: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/media/video/cx231xx/cx231xx-avcore.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/cx231xx/cx231xx-avcore.c b/drivers/media/video/cx231xx/cx231xx-avcore.c
index c53e972..ff5cb50 100644
--- a/drivers/media/video/cx231xx/cx231xx-avcore.c
+++ b/drivers/media/video/cx231xx/cx231xx-avcore.c
@@ -1356,7 +1356,7 @@ void cx231xx_dump_SC_reg(struct cx231xx *dev)
 {
 	u8 value[4] = { 0, 0, 0, 0 };
 	int status = 0;
-	cx231xx_info("cx231xx_dump_SC_reg %s!\n", __TIME__);
+	cx231xx_info("cx231xx_dump_SC_reg!\n");
 
 	status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, BOARD_CFG_STAT,
 				 value, 4);
-- 
1.7.4.1


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

* [PATCH 15/34] baycom: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (16 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
       [not found]   ` <1302015780.4124.53.camel@xbox360.hq.axsem.com>
  -1 siblings, 1 reply; 174+ 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] 174+ messages in thread

* [PATCH 16/34] nand/denali: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
@ 2011-04-05 14:59   ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Chuanxiao Dong, David Woodhouse, linux-mtd

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: Chuanxiao Dong <chuanxiao.dong@intel.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/mtd/nand/denali.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 8c8d3c8..7a3cf8c 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1721,8 +1721,7 @@ static struct pci_driver denali_pci_driver = {
 
 static int __devinit denali_init(void)
 {
-	printk(KERN_INFO "Spectra MTD driver built on %s @ %s\n",
-			__DATE__, __TIME__);
+	printk(KERN_INFO "Spectra MTD driver\n");
 	return pci_register_driver(&denali_pci_driver);
 }
 
-- 
1.7.4.1


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

* [PATCH 16/34] nand/denali: Drop __TIME__ usage
@ 2011-04-05 14:59   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-mtd, David Woodhouse, linux-kernel, Chuanxiao Dong

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: Chuanxiao Dong <chuanxiao.dong@intel.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/mtd/nand/denali.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 8c8d3c8..7a3cf8c 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1721,8 +1721,7 @@ static struct pci_driver denali_pci_driver = {
 
 static int __devinit denali_init(void)
 {
-	printk(KERN_INFO "Spectra MTD driver built on %s @ %s\n",
-			__DATE__, __TIME__);
+	printk(KERN_INFO "Spectra MTD driver\n");
 	return pci_register_driver(&denali_pci_driver);
 }
 
-- 
1.7.4.1

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

* [PATCH 17/34] hdlcdrv: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (18 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-19 10:17   ` walter harms
       [not found]   ` <1302015790.4124.54.camel@xbox360.hq.axsem.com>
  -1 siblings, 2 replies; 174+ 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] 174+ messages in thread

* [PATCH 18/34] wan/pc300: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (19 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-25 20:43   ` Michal Marek
  -1 siblings, 1 reply; 174+ 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] 174+ messages in thread

* [PATCH 19/34] rt2x00: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (20 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-05 15:28   ` Gertjan van Wingerde
  2011-04-05 18:37     ` Ivo Van Doorn
  -1 siblings, 2 replies; 174+ 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] 174+ messages in thread

* [PATCH 20/34] parport: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (21 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-05 20:00   ` Arnaud Giersch
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Arnaud Giersch

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: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/parport/parport_ip32.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/parport/parport_ip32.c b/drivers/parport/parport_ip32.c
index d3d7809..0dc34f1 100644
--- a/drivers/parport/parport_ip32.c
+++ b/drivers/parport/parport_ip32.c
@@ -2203,7 +2203,6 @@ static __exit void parport_ip32_unregister_port(struct parport *p)
 static int __init parport_ip32_init(void)
 {
 	pr_info(PPIP32 "SGI IP32 built-in parallel port driver v0.6\n");
-	pr_debug1(PPIP32 "Compiled on %s, %s\n", __DATE__, __TIME__);
 	this_port = parport_ip32_probe_port();
 	return IS_ERR(this_port) ? PTR_ERR(this_port) : 0;
 }
-- 
1.7.4.1


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

* [PATCH 21/34] aacraid: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (22 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:20   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Adaptec OEM Raid Solutions, linux-scsi

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: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/scsi/aacraid/linit.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 2c93d94..7babcbb 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -58,7 +58,6 @@
 #ifndef AAC_DRIVER_BRANCH
 #define AAC_DRIVER_BRANCH		""
 #endif
-#define AAC_DRIVER_BUILD_DATE		__DATE__ " " __TIME__
 #define AAC_DRIVERNAME			"aacraid"
 
 #ifdef AAC_DRIVER_BUILD
@@ -66,7 +65,7 @@
 #define str(x) _str(x)
 #define AAC_DRIVER_FULL_VERSION	AAC_DRIVER_VERSION "[" str(AAC_DRIVER_BUILD) "]" AAC_DRIVER_BRANCH
 #else
-#define AAC_DRIVER_FULL_VERSION	AAC_DRIVER_VERSION AAC_DRIVER_BRANCH " " AAC_DRIVER_BUILD_DATE
+#define AAC_DRIVER_FULL_VERSION	AAC_DRIVER_VERSION AAC_DRIVER_BRANCH
 #endif
 
 MODULE_AUTHOR("Red Hat Inc and Adaptec");
-- 
1.7.4.1


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

* [PATCH 22/34] scsi/in2000: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (23 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:20   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, James E.J. Bottomley, linux-scsi

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: "James E.J. Bottomley" <James.Bottomley@suse.de>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/scsi/in2000.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index 6568aab..6096d93 100644
--- a/drivers/scsi/in2000.c
+++ b/drivers/scsi/in2000.c
@@ -2228,7 +2228,7 @@ static int in2000_proc_info(struct Scsi_Host *instance, char *buf, char **start,
 	bp = buf;
 	*bp = '\0';
 	if (hd->proc & PR_VERSION) {
-		sprintf(tbuf, "\nVersion %s - %s. Compiled %s %s", IN2000_VERSION, IN2000_DATE, __DATE__, __TIME__);
+		sprintf(tbuf, "\nVersion %s - %s.", IN2000_VERSION, IN2000_DATE);
 		strcat(bp, tbuf);
 	}
 	if (hd->proc & PR_INFO) {
-- 
1.7.4.1


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

* [PATCH 23/34] scsi/wd33c93: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (24 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:20   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, James E.J. Bottomley, linux-scsi

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: "James E.J. Bottomley" <James.Bottomley@suse.de>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/scsi/wd33c93.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/wd33c93.c b/drivers/scsi/wd33c93.c
index 5f697e0..6c983a2 100644
--- a/drivers/scsi/wd33c93.c
+++ b/drivers/scsi/wd33c93.c
@@ -2052,8 +2052,7 @@ wd33c93_init(struct Scsi_Host *instance, const wd33c93_regs regs,
 	for (i = 0; i < MAX_SETUP_ARGS; i++)
 		printk("%s,", setup_args[i]);
 	printk("\n");
-	printk("           Version %s - %s, Compiled %s at %s\n",
-	       WD33C93_VERSION, WD33C93_DATE, __DATE__, __TIME__);
+	printk("           Version %s - %s\n", WD33C93_VERSION, WD33C93_DATE);
 }
 
 int
@@ -2133,8 +2132,8 @@ wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off
 	bp = buf;
 	*bp = '\0';
 	if (hd->proc & PR_VERSION) {
-		sprintf(tbuf, "\nVersion %s - %s. Compiled %s %s",
-			WD33C93_VERSION, WD33C93_DATE, __DATE__, __TIME__);
+		sprintf(tbuf, "\nVersion %s - %s.",
+			WD33C93_VERSION, WD33C93_DATE);
 		strcat(bp, tbuf);
 	}
 	if (hd->proc & PR_INFO) {
-- 
1.7.4.1


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

* [PATCH 24/34] usb/u132-hcd: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (25 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Tony Olech, linux-usb

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: Tony Olech <tony.olech@elandigitalsystems.com>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/usb/host/u132-hcd.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
index fab7649..dc6dd22 100644
--- a/drivers/usb/host/u132-hcd.c
+++ b/drivers/usb/host/u132-hcd.c
@@ -3229,8 +3229,7 @@ static int __init u132_hcd_init(void)
 	mutex_init(&u132_module_lock);
 	if (usb_disabled())
 		return -ENODEV;
-	printk(KERN_INFO "driver %s built at %s on %s\n", hcd_name, __TIME__,
-		__DATE__);
+	printk(KERN_INFO "driver %s\n", hcd_name);
 	workqueue = create_singlethread_workqueue("u132");
 	retval = platform_driver_register(&u132_platform_driver);
 	return retval;
-- 
1.7.4.1


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

* [PATCH 25/34] usb/ftdi-elan: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (26 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-05 17:50   ` Matthew Dharm
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Tony Olech, linux-usb

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: Tony Olech <tony.olech@elandigitalsystems.com>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/usb/misc/ftdi-elan.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
index 7839c98..b16bd3c 100644
--- a/drivers/usb/misc/ftdi-elan.c
+++ b/drivers/usb/misc/ftdi-elan.c
@@ -2889,8 +2889,7 @@ static struct usb_driver ftdi_elan_driver = {
 static int __init ftdi_elan_init(void)
 {
         int result;
-        printk(KERN_INFO "driver %s built at %s on %s\n", ftdi_elan_driver.name,
-	       __TIME__, __DATE__);
+        printk(KERN_INFO "driver %s\n", ftdi_elan_driver.name);
         mutex_init(&ftdi_module_lock);
         INIT_LIST_HEAD(&ftdi_static_list);
         status_queue = create_singlethread_workqueue("ftdi-status-control");
-- 
1.7.4.1


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

* [PATCH 26/34] dlm: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (27 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-25 20:47   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Christine Caulfield, David Teigland, cluster-devel

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: Christine Caulfield <ccaulfie@redhat.com>
Cc: David Teigland <teigland@redhat.com>
Cc: cluster-devel@redhat.com
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 fs/dlm/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/dlm/main.c b/fs/dlm/main.c
index b80e0aa..5a59efa 100644
--- a/fs/dlm/main.c
+++ b/fs/dlm/main.c
@@ -50,7 +50,7 @@ static int __init init_dlm(void)
 	if (error)
 		goto out_netlink;
 
-	printk("DLM (built %s %s) installed\n", __DATE__, __TIME__);
+	printk("DLM installed\n");
 
 	return 0;
 
-- 
1.7.4.1


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

* [PATCH 27/34] gfs2: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (28 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-25 20:48   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Steven Whitehouse, cluster-devel

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: Steven Whitehouse <swhiteho@redhat.com>
Cc: cluster-devel@redhat.com
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 fs/gfs2/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
index 72c31a3..07d057b 100644
--- a/fs/gfs2/main.c
+++ b/fs/gfs2/main.c
@@ -143,7 +143,7 @@ static int __init init_gfs2_fs(void)
 
 	gfs2_register_debugfs();
 
-	printk("GFS2 (built %s %s) installed\n", __DATE__, __TIME__);
+	printk("GFS2 installed\n");
 
 	return 0;
 
-- 
1.7.4.1


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

* [PATCH 28/34] atm: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (29 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-25 20:49   ` Michal Marek
  -1 siblings, 1 reply; 174+ 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] 174+ messages in thread

* [PATCH 29/34] tipc: Drop __TIME__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (30 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-05 22:25     ` Paul Gortmaker
  -1 siblings, 1 reply; 174+ 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] 174+ messages in thread

* [PATCH 30/34] rio: Drop __DATE__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (31 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:21   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Greg Kroah-Hartman

The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time. As the buildDate field is part of the userspace API, I replaced it
with the date of the last code change.

Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/char/rio/rioinit.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/char/rio/rioinit.c b/drivers/char/rio/rioinit.c
index 24a282b..fb62b38 100644
--- a/drivers/char/rio/rioinit.c
+++ b/drivers/char/rio/rioinit.c
@@ -381,7 +381,7 @@ struct rioVersion *RIOVersid(void)
 {
     strlcpy(stVersion.version, "RIO driver for linux V1.0",
 	    sizeof(stVersion.version));
-    strlcpy(stVersion.buildDate, __DATE__,
+    strlcpy(stVersion.buildDate, "Aug 15 2010",
 	    sizeof(stVersion.buildDate));
 
     return &stVersion;
-- 
1.7.4.1


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

* [PATCH 31/34] edac: Drop __DATE__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (32 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:21   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Doug Thompson, bluesmoke-devel, linux-edac

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: Doug Thompson <dougthompson@xmission.com>
Cc: bluesmoke-devel@lists.sourceforge.net
Cc: linux-edac@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 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 +-
 18 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/edac/amd76x_edac.c b/drivers/edac/amd76x_edac.c
index cace0a7..e47e73b 100644
--- a/drivers/edac/amd76x_edac.c
+++ b/drivers/edac/amd76x_edac.c
@@ -19,7 +19,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define AMD76X_REVISION	" Ver: 2.0.2 "  __DATE__
+#define AMD76X_REVISION	" Ver: 2.0.2"
 #define EDAC_MOD_STR	"amd76x_edac"
 
 #define amd76x_printk(level, fmt, arg...) \
diff --git a/drivers/edac/amd8111_edac.c b/drivers/edac/amd8111_edac.c
index 35b78d0..ddd8900 100644
--- a/drivers/edac/amd8111_edac.c
+++ b/drivers/edac/amd8111_edac.c
@@ -33,7 +33,7 @@
 #include "edac_module.h"
 #include "amd8111_edac.h"
 
-#define AMD8111_EDAC_REVISION	" Ver: 1.0.0 " __DATE__
+#define AMD8111_EDAC_REVISION	" Ver: 1.0.0"
 #define AMD8111_EDAC_MOD_STR	"amd8111_edac"
 
 #define PCI_DEVICE_ID_AMD_8111_PCI	0x7460
diff --git a/drivers/edac/amd8131_edac.c b/drivers/edac/amd8131_edac.c
index b432d60..a5c6805 100644
--- a/drivers/edac/amd8131_edac.c
+++ b/drivers/edac/amd8131_edac.c
@@ -33,7 +33,7 @@
 #include "edac_module.h"
 #include "amd8131_edac.h"
 
-#define AMD8131_EDAC_REVISION	" Ver: 1.0.0 " __DATE__
+#define AMD8131_EDAC_REVISION	" Ver: 1.0.0"
 #define AMD8131_EDAC_MOD_STR	"amd8131_edac"
 
 /* Wrapper functions for accessing PCI configuration space */
diff --git a/drivers/edac/cpc925_edac.c b/drivers/edac/cpc925_edac.c
index b9a781c..3400ae3 100644
--- a/drivers/edac/cpc925_edac.c
+++ b/drivers/edac/cpc925_edac.c
@@ -30,7 +30,7 @@
 #include "edac_core.h"
 #include "edac_module.h"
 
-#define CPC925_EDAC_REVISION	" Ver: 1.0.0 " __DATE__
+#define CPC925_EDAC_REVISION	" Ver: 1.0.0"
 #define CPC925_EDAC_MOD_STR	"cpc925_edac"
 
 #define cpc925_printk(level, fmt, arg...) \
diff --git a/drivers/edac/e752x_edac.c b/drivers/edac/e752x_edac.c
index ec302d4..1af531a 100644
--- a/drivers/edac/e752x_edac.c
+++ b/drivers/edac/e752x_edac.c
@@ -24,7 +24,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define E752X_REVISION	" Ver: 2.0.2 " __DATE__
+#define E752X_REVISION	" Ver: 2.0.2"
 #define EDAC_MOD_STR	"e752x_edac"
 
 static int report_non_memory_errors;
diff --git a/drivers/edac/e7xxx_edac.c b/drivers/edac/e7xxx_edac.c
index 1731d72..6ffb6d2 100644
--- a/drivers/edac/e7xxx_edac.c
+++ b/drivers/edac/e7xxx_edac.c
@@ -29,7 +29,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define	E7XXX_REVISION " Ver: 2.0.2 " __DATE__
+#define	E7XXX_REVISION " Ver: 2.0.2"
 #define	EDAC_MOD_STR	"e7xxx_edac"
 
 #define e7xxx_printk(level, fmt, arg...) \
diff --git a/drivers/edac/edac_module.c b/drivers/edac/edac_module.c
index be4b075..5ddaa86 100644
--- a/drivers/edac/edac_module.c
+++ b/drivers/edac/edac_module.c
@@ -15,7 +15,7 @@
 #include "edac_core.h"
 #include "edac_module.h"
 
-#define EDAC_VERSION "Ver: 2.1.0 " __DATE__
+#define EDAC_VERSION "Ver: 2.1.0"
 
 #ifdef CONFIG_EDAC_DEBUG
 /* Values of 0 to 4 will generate output */
diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c
index a5cefab..3d0b726 100644
--- a/drivers/edac/i5000_edac.c
+++ b/drivers/edac/i5000_edac.c
@@ -27,7 +27,7 @@
 /*
  * Alter this version for the I5000 module when modifications are made
  */
-#define I5000_REVISION    " Ver: 2.0.12 " __DATE__
+#define I5000_REVISION    " Ver: 2.0.12"
 #define EDAC_MOD_STR      "i5000_edac"
 
 #define i5000_printk(level, fmt, arg...) \
diff --git a/drivers/edac/i5400_edac.c b/drivers/edac/i5400_edac.c
index 38a9be9..fd362b4 100644
--- a/drivers/edac/i5400_edac.c
+++ b/drivers/edac/i5400_edac.c
@@ -33,7 +33,7 @@
 /*
  * Alter this version for the I5400 module when modifications are made
  */
-#define I5400_REVISION    " Ver: 1.0.0 " __DATE__
+#define I5400_REVISION    " Ver: 1.0.0"
 
 #define EDAC_MOD_STR      "i5400_edac"
 
diff --git a/drivers/edac/i7300_edac.c b/drivers/edac/i7300_edac.c
index 05523b5..7ffc65c 100644
--- a/drivers/edac/i7300_edac.c
+++ b/drivers/edac/i7300_edac.c
@@ -31,7 +31,7 @@
 /*
  * Alter this version for the I7300 module when modifications are made
  */
-#define I7300_REVISION    " Ver: 1.0.0 " __DATE__
+#define I7300_REVISION    " Ver: 1.0.0"
 
 #define EDAC_MOD_STR      "i7300_edac"
 
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
index 81154ab..3f320ba 100644
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -59,7 +59,7 @@ MODULE_PARM_DESC(use_pci_fixup, "Enable PCI fixup to seek for hidden devices");
 /*
  * Alter this version for the module when modifications are made
  */
-#define I7CORE_REVISION    " Ver: 1.0.0 " __DATE__
+#define I7CORE_REVISION    " Ver: 1.0.0"
 #define EDAC_MOD_STR      "i7core_edac"
 
 /*
diff --git a/drivers/edac/i82860_edac.c b/drivers/edac/i82860_edac.c
index b8a95cf..931a057 100644
--- a/drivers/edac/i82860_edac.c
+++ b/drivers/edac/i82860_edac.c
@@ -16,7 +16,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define  I82860_REVISION " Ver: 2.0.2 " __DATE__
+#define  I82860_REVISION " Ver: 2.0.2"
 #define EDAC_MOD_STR	"i82860_edac"
 
 #define i82860_printk(level, fmt, arg...) \
diff --git a/drivers/edac/i82875p_edac.c b/drivers/edac/i82875p_edac.c
index b2fd1e8..33864c6 100644
--- a/drivers/edac/i82875p_edac.c
+++ b/drivers/edac/i82875p_edac.c
@@ -20,7 +20,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define I82875P_REVISION	" Ver: 2.0.2 " __DATE__
+#define I82875P_REVISION	" Ver: 2.0.2"
 #define EDAC_MOD_STR		"i82875p_edac"
 
 #define i82875p_printk(level, fmt, arg...) \
diff --git a/drivers/edac/i82975x_edac.c b/drivers/edac/i82975x_edac.c
index 3218819..4f366c2 100644
--- a/drivers/edac/i82975x_edac.c
+++ b/drivers/edac/i82975x_edac.c
@@ -16,7 +16,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define I82975X_REVISION	" Ver: 1.0.0 " __DATE__
+#define I82975X_REVISION	" Ver: 1.0.0"
 #define EDAC_MOD_STR		"i82975x_edac"
 
 #define i82975x_printk(level, fmt, arg...) \
diff --git a/drivers/edac/mpc85xx_edac.h b/drivers/edac/mpc85xx_edac.h
index cb24df8..932016f 100644
--- a/drivers/edac/mpc85xx_edac.h
+++ b/drivers/edac/mpc85xx_edac.h
@@ -11,7 +11,7 @@
 #ifndef _MPC85XX_EDAC_H_
 #define _MPC85XX_EDAC_H_
 
-#define MPC85XX_REVISION " Ver: 2.0.0 " __DATE__
+#define MPC85XX_REVISION " Ver: 2.0.0"
 #define EDAC_MOD_STR	"MPC85xx_edac"
 
 #define mpc85xx_printk(level, fmt, arg...) \
diff --git a/drivers/edac/mv64x60_edac.h b/drivers/edac/mv64x60_edac.h
index e042e2d..c7f209c 100644
--- a/drivers/edac/mv64x60_edac.h
+++ b/drivers/edac/mv64x60_edac.h
@@ -12,7 +12,7 @@
 #ifndef _MV64X60_EDAC_H_
 #define _MV64X60_EDAC_H_
 
-#define MV64x60_REVISION " Ver: 2.0.0 " __DATE__
+#define MV64x60_REVISION " Ver: 2.0.0"
 #define EDAC_MOD_STR	"MV64x60_edac"
 
 #define mv64x60_printk(level, fmt, arg...) \
diff --git a/drivers/edac/ppc4xx_edac.c b/drivers/edac/ppc4xx_edac.c
index b9f0c20..83863fd 100644
--- a/drivers/edac/ppc4xx_edac.c
+++ b/drivers/edac/ppc4xx_edac.c
@@ -113,7 +113,7 @@
 #define EDAC_OPSTATE_UNKNOWN_STR	"unknown"
 
 #define PPC4XX_EDAC_MODULE_NAME		"ppc4xx_edac"
-#define PPC4XX_EDAC_MODULE_REVISION	"v1.0.0 " __DATE__
+#define PPC4XX_EDAC_MODULE_REVISION	"v1.0.0"
 
 #define PPC4XX_EDAC_MESSAGE_SIZE	256
 
diff --git a/drivers/edac/r82600_edac.c b/drivers/edac/r82600_edac.c
index 6a822c6..387997a 100644
--- a/drivers/edac/r82600_edac.c
+++ b/drivers/edac/r82600_edac.c
@@ -22,7 +22,7 @@
 #include <linux/edac.h>
 #include "edac_core.h"
 
-#define R82600_REVISION	" Ver: 2.0.2 " __DATE__
+#define R82600_REVISION	" Ver: 2.0.2"
 #define EDAC_MOD_STR	"r82600_edac"
 
 #define r82600_printk(level, fmt, arg...) \
-- 
1.7.4.1


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

* [PATCH 32/34] pmcraid: Drop __DATE__ usage
  2011-04-05 14:58 ` Michal Marek
                   ` (33 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-04-18 22:21   ` Michal Marek
  -1 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Anil Ravindranath, linux-scsi

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: Anil Ravindranath <anil_ravindranath@pmc-sierra.com>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/scsi/pmcraid.c |    9 ++++-----
 drivers/scsi/pmcraid.h |    1 -
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index 321cf3a..7c13201 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -4249,8 +4249,8 @@ static ssize_t pmcraid_show_drv_version(
 	char *buf
 )
 {
-	return snprintf(buf, PAGE_SIZE, "version: %s, build date: %s\n",
-			PMCRAID_DRIVER_VERSION, PMCRAID_DRIVER_DATE);
+	return snprintf(buf, PAGE_SIZE, "version: %s\n",
+			PMCRAID_DRIVER_VERSION);
 }
 
 static struct device_attribute pmcraid_driver_version_attr = {
@@ -6093,9 +6093,8 @@ static int __init pmcraid_init(void)
 	dev_t dev;
 	int error;
 
-	pmcraid_info("%s Device Driver version: %s %s\n",
-			 PMCRAID_DRIVER_NAME,
-			 PMCRAID_DRIVER_VERSION, PMCRAID_DRIVER_DATE);
+	pmcraid_info("%s Device Driver version: %s\n",
+			 PMCRAID_DRIVER_NAME, PMCRAID_DRIVER_VERSION);
 
 	error = alloc_chrdev_region(&dev, 0,
 				    PMCRAID_MAX_ADAPTERS,
diff --git a/drivers/scsi/pmcraid.h b/drivers/scsi/pmcraid.h
index 4db210d..d302737 100644
--- a/drivers/scsi/pmcraid.h
+++ b/drivers/scsi/pmcraid.h
@@ -43,7 +43,6 @@
 #define PMCRAID_DRIVER_NAME		"PMC MaxRAID"
 #define PMCRAID_DEVFILE			"pmcsas"
 #define PMCRAID_DRIVER_VERSION		"1.0.3"
-#define PMCRAID_DRIVER_DATE		__DATE__
 
 #define PMCRAID_FW_VERSION_1		0x002
 
-- 
1.7.4.1


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

* [PATCH 33/34] usb/lh7a40x_udc: Drop __DATE__ usage
  2011-04-05 14:58 ` Michal Marek
@ 2011-04-05 14:59   ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Marc Singer, linux-arm-kernel, linux-usb

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: Marc Singer <elf@buici.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-usb@vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/usb/gadget/lh7a40x_udc.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index 6b58bd8..1e99e03 100644
--- a/drivers/usb/gadget/lh7a40x_udc.c
+++ b/drivers/usb/gadget/lh7a40x_udc.c
@@ -42,7 +42,6 @@
 #endif
 
 #define	DRIVER_DESC			"LH7A40x USB Device Controller"
-#define	DRIVER_VERSION		__DATE__
 
 #ifndef _BIT			/* FIXME - what happended to _BIT in 2.6.7bk18? */
 #define _BIT(x) (1<<(x))
@@ -209,10 +208,10 @@ udc_proc_read(char *page, char **start, off_t off, int count,
 	/* basic device status */
 	t = scnprintf(next, size,
 		      DRIVER_DESC "\n"
-		      "%s version: %s\n"
+		      "%s\n"
 		      "Gadget driver: %s\n"
 		      "Host: %s\n\n",
-		      driver_name, DRIVER_VERSION,
+		      driver_name,
 		      dev->driver ? dev->driver->driver.name : "(none)",
 		      is_usb_connected()? "full speed" : "disconnected");
 	size -= t;
@@ -2134,7 +2133,7 @@ static struct platform_driver udc_driver = {
 
 static int __init udc_init(void)
 {
-	DEBUG("%s: %s version %s\n", __func__, driver_name, DRIVER_VERSION);
+	DEBUG("%s: %s\n", __func__, driver_name);
 	return platform_driver_register(&udc_driver);
 }
 
-- 
1.7.4.1


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

* [PATCH 33/34] usb/lh7a40x_udc: Drop __DATE__ usage
@ 2011-04-05 14:59   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-arm-kernel

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: Marc Singer <elf@buici.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-usb at vger.kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 drivers/usb/gadget/lh7a40x_udc.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index 6b58bd8..1e99e03 100644
--- a/drivers/usb/gadget/lh7a40x_udc.c
+++ b/drivers/usb/gadget/lh7a40x_udc.c
@@ -42,7 +42,6 @@
 #endif
 
 #define	DRIVER_DESC			"LH7A40x USB Device Controller"
-#define	DRIVER_VERSION		__DATE__
 
 #ifndef _BIT			/* FIXME - what happended to _BIT in 2.6.7bk18? */
 #define _BIT(x) (1<<(x))
@@ -209,10 +208,10 @@ udc_proc_read(char *page, char **start, off_t off, int count,
 	/* basic device status */
 	t = scnprintf(next, size,
 		      DRIVER_DESC "\n"
-		      "%s version: %s\n"
+		      "%s\n"
 		      "Gadget driver: %s\n"
 		      "Host: %s\n\n",
-		      driver_name, DRIVER_VERSION,
+		      driver_name,
 		      dev->driver ? dev->driver->driver.name : "(none)",
 		      is_usb_connected()? "full speed" : "disconnected");
 	size -= t;
@@ -2134,7 +2133,7 @@ static struct platform_driver udc_driver = {
 
 static int __init udc_init(void)
 {
-	DEBUG("%s: %s version %s\n", __func__, driver_name, DRIVER_VERSION);
+	DEBUG("%s: %s\n", __func__, driver_name);
 	return platform_driver_register(&udc_driver);
 }
 
-- 
1.7.4.1

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

* [PATCH 34/34] checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__
  2011-04-05 14:58 ` Michal Marek
                   ` (35 preceding siblings ...)
  (?)
@ 2011-04-05 14:59 ` Michal Marek
  2011-05-26 11:39   ` Michal Marek
  2011-05-26 12:42   ` Andy Whitcroft
  -1 siblings, 2 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 14:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Andy Whitcroft

The __TIME__ and __DATE__ macros are evil. Every C textbook mentions
them, but forgets to add the tiny detail that they make sure that your
code will never result in the same binary. __TIMESTAMP__ is a bit more
sane, but again produces noise as soon as you switch branches back and
forth, or apply a patch and revert it.

Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 scripts/checkpatch.pl |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4c0383d..dbcdf04 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2804,6 +2804,11 @@ sub process {
 			WARN("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
 		}
 
+# check for pointless usage of __TIME__ and friends
+		if ($line =~ /\b__(TIME|DATE|TIMESTAMP)__\b/) {
+			WARN("Usage of __$1__ should be avoided to keep the build deterministic\n" . $herecurr);
+		}
+
 # check for semaphores initialized locked
 		if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) {
 			WARN("consider using a completion\n" . $herecurr);
-- 
1.7.4.1


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

* Re: [PATCH 16/34] nand/denali: Drop __TIME__ usage
  2011-04-05 14:59   ` Michal Marek
@ 2011-04-05 15:02     ` Artem Bityutskiy
  -1 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 15:02 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-mtd, David Woodhouse, linux-kernel, Chuanxiao Dong

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: Chuanxiao Dong <chuanxiao.dong@intel.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: linux-mtd@lists.infradead.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>

Do you want this to got via the MTD tree or you'd rather merge it with
the rest of the patches via some other tree? In any case,

Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>

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


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

* Re: [PATCH 16/34] nand/denali: Drop __TIME__ usage
@ 2011-04-05 15:02     ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 15:02 UTC (permalink / raw)
  To: Michal Marek
  Cc: David Woodhouse, Chuanxiao Dong, linux-mtd, linux-kernel, linux-kbuild

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: Chuanxiao Dong <chuanxiao.dong@intel.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: linux-mtd@lists.infradead.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>

Do you want this to got via the MTD tree or you'd rather merge it with
the rest of the patches via some other tree? In any case,

Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>

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

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

* Re: [PATCH 16/34] nand/denali: Drop __TIME__ usage
  2011-04-05 15:02     ` Artem Bityutskiy
@ 2011-04-05 15:10       ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 15:10 UTC (permalink / raw)
  To: dedekind1
  Cc: linux-kbuild, linux-mtd, David Woodhouse, linux-kernel, Chuanxiao Dong

On 5.4.2011 17:02, Artem Bityutskiy 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: Chuanxiao Dong <chuanxiao.dong@intel.com>
>> Cc: David Woodhouse <dwmw2@infradead.org>
>> Cc: linux-mtd@lists.infradead.org
>> Signed-off-by: Michal Marek <mmarek@suse.cz>
> 
> Do you want this to got via the MTD tree or you'd rather merge it with
> the rest of the patches via some other tree? In any case,

The patches do not depend on each other, so they should go via the usual
trees.


> Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>

Thanks.
Michal

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

* Re: [PATCH 16/34] nand/denali: Drop __TIME__ usage
@ 2011-04-05 15:10       ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 15:10 UTC (permalink / raw)
  To: dedekind1
  Cc: David Woodhouse, Chuanxiao Dong, linux-mtd, linux-kernel, linux-kbuild

On 5.4.2011 17:02, Artem Bityutskiy 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: Chuanxiao Dong <chuanxiao.dong@intel.com>
>> Cc: David Woodhouse <dwmw2@infradead.org>
>> Cc: linux-mtd@lists.infradead.org
>> Signed-off-by: Michal Marek <mmarek@suse.cz>
> 
> Do you want this to got via the MTD tree or you'd rather merge it with
> the rest of the patches via some other tree? In any case,

The patches do not depend on each other, so they should go via the usual
trees.


> Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>

Thanks.
Michal

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

* Re: [PATCH 12/34] isdn/diva: Drop __TIME__ usage
  2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: " Michal Marek
@ 2011-04-05 15:10   ` Armin Schindler
  2011-04-05 15:37     ` Ben Hutchings
                       ` (2 more replies)
  0 siblings, 3 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 16/34] nand/denali: Drop __TIME__ usage
  2011-04-05 14:59   ` Michal Marek
@ 2011-04-05 15:15     ` Artem Bityutskiy
  -1 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 15:15 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-mtd, David Woodhouse, linux-kernel, Chuanxiao Dong

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: Chuanxiao Dong <chuanxiao.dong@intel.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: linux-mtd@lists.infradead.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/mtd/nand/denali.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

Pushed to l2-mtd-2.6.git, thanks.

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


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

* Re: [PATCH 16/34] nand/denali: Drop __TIME__ usage
@ 2011-04-05 15:15     ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 15:15 UTC (permalink / raw)
  To: Michal Marek
  Cc: David Woodhouse, Chuanxiao Dong, linux-mtd, linux-kernel, linux-kbuild

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: Chuanxiao Dong <chuanxiao.dong@intel.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: linux-mtd@lists.infradead.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/mtd/nand/denali.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

Pushed to l2-mtd-2.6.git, thanks.

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

^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-05 14:58 ` [PATCH 09/34] x86: Allow to override the ROOT_DEV variable Michal Marek
@ 2011-04-05 15:30   ` H. Peter Anvin
  2011-04-06  7:47     ` Michal Marek
  0 siblings, 1 reply; 174+ messages in thread
From: H. Peter Anvin @ 2011-04-05 15:30 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-kernel, Thomas Gleixner, Ingo Molnar, x86

On 04/05/2011 07:58 AM, Michal Marek wrote:
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: x86@kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  arch/x86/boot/Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
> index f7cb086..7a70c60 100644
> --- a/arch/x86/boot/Makefile
> +++ b/arch/x86/boot/Makefile
> @@ -13,7 +13,7 @@
>  # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
>  # the default of FLOPPY is used by 'build'.
>  
> -ROOT_DEV	:= CURRENT
> +ROOT_DEV	?= CURRENT
>  
>  # If you want to preset the SVGA mode, uncomment the next line and
>  # set SVGA_MODE to whatever number you want.

Is this a good thing?  As far as I understand ?= it may mean picking
something up from the outside environment.

Since ROOT_DEV has been obsolete for 15 years or more, this would seem
to be a needless new error mode.

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 14:58 ` Michal Marek
  (?)
  (?)
@ 2011-04-05 15:49   ` Greg KH
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 15:49   ` Greg KH
  0 siblings, 0 replies; 174+ messages in thread
From: Greg KH @ 2011-04-05 15:49 UTC (permalink / raw)
  To: Michal Marek
  Cc: anil_ravindranath, mchehab, 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-devel, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 15:49   ` Greg KH
  0 siblings, 0 replies; 174+ 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-devel, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 15:49   ` Greg KH
  0 siblings, 0 replies; 174+ messages in thread
From: Greg KH @ 2011-04-05 15:49 UTC (permalink / raw)
  To: linux-arm-kernel

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] 174+ messages in thread

* Re: [PATCH 07/34] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-05 14:58 ` [PATCH 07/34] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros Michal Marek
@ 2011-04-05 15:52   ` Jack Stone
  2011-04-05 18:09     ` Michal Marek
  2011-04-11 15:04     ` [PATCH v2] " Michal Marek
  0 siblings, 2 replies; 174+ messages in thread
From: Jack Stone @ 2011-04-05 15:52 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

On 05/04/2011 15:58, Michal Marek wrote:
> -  echo \#define LINUX_COMPILE_BY \"`whoami`\"
> -  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
> +  echo \#define LINUX_COMPILE_BY \"`echo $KBUILD_BUILD_USER | $UTS_TRUNCATE`\"
> +  echo \#define LINUX_COMPILE_HOST \"`echo $KBUILD_BUILD_HOST | $UTS_TRUNCATE`\"

Shouldn't these be the variables defined above otherwise we get empty
LINUX_COMPILE_{BY,HOST} in the case the corresponding environment
variable is unset.

Thanks,

Jack

^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 33/34] usb/lh7a40x_udc: Drop __DATE__ usage
  2011-04-05 14:59   ` Michal Marek
@ 2011-04-05 16:25     ` Russell King - ARM Linux
  -1 siblings, 0 replies; 174+ messages in thread
From: Russell King - ARM Linux @ 2011-04-05 16:25 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-usb, linux-kernel, linux-arm-kernel, Marc Singer

On Tue, Apr 05, 2011 at 04:59:20PM +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.

This file no longer exists.

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

* [PATCH 33/34] usb/lh7a40x_udc: Drop __DATE__ usage
@ 2011-04-05 16:25     ` Russell King - ARM Linux
  0 siblings, 0 replies; 174+ messages in thread
From: Russell King - ARM Linux @ 2011-04-05 16:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 05, 2011 at 04:59:20PM +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.

This file no longer exists.

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

* Re: [08/34] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  2011-04-05 14:58 ` [PATCH 08/34] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries Michal Marek
@ 2011-04-05 17:31   ` Milton Miller
  2011-04-05 18:12     ` Michal Marek
  2011-04-11 15:06     ` [PATCH v2] " Michal Marek
  0 siblings, 2 replies; 174+ messages in thread
From: Milton Miller @ 2011-04-05 17:31 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kernel, linux-kbuild

On Tue, 05 Apr 2011 about 14:58:55 -0000, Michal Marek wrote:
> 
> gen_init_cpio uses the current time for symlinks, special files and
> directories. 

gen_init_cpio gets the current time and uses it for each symlink,
special file, and directory.

Grab the current time once, and ...

> Make it possible to override this with the
(s/this/it/)
> KBUILD_BUILD_TIMESTAMP variable for reproducible builds.
> 
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> 
> ---
> scripts/gen_initramfs_list.sh |    4 ++++
>  usr/gen_init_cpio.c           |   17 +++++++++++------
>  2 files changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
snip
> diff --git a/usr/gen_init_cpio.c b/usr/gen_init_cpio.c
> index 7f06884..11f604d 100644
> --- a/usr/gen_init_cpio.c
> +++ b/usr/gen_init_cpio.c
snip
> @@ -529,6 +527,7 @@ int main (int argc, char *argv[])
>  	char *args, *type;
>  	int ec = 0;
>  	int line_nr = 0;
> +	const char *env;
>  
>  	if (2 != argc) {
>  		usage(argv[0]);
> @@ -544,6 +543,12 @@ int main (int argc, char *argv[])
>  		exit(1);
>  	}
>  
> +	env = getenv("CPIO_TIMESTAMP");
> +	if (env)
> +		default_mtime = atol(env);
> +	if (!default_mtime)
> +		default_mtime = time(NULL);
> +

Please pass it via an explicit flag in argv instead of magic env variables.

The other current use of the environment (the expansion of variables
in the location name) is via explicit reference in the input file.

Also, please use strol and check that the whole string is consumed.

milton

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

* Re: [PATCH 25/34] usb/ftdi-elan: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 25/34] usb/ftdi-elan: " Michal Marek
@ 2011-04-05 17:50   ` Matthew Dharm
  2011-04-05 18:13     ` Greg KH
  0 siblings, 1 reply; 174+ messages in thread
From: Matthew Dharm @ 2011-04-05 17:50 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel, Tony Olech, linux-usb

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

On Tue, Apr 05, 2011 at 04:59:12PM +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.

What about drivers built as modules, which may be compiled at a different
time than the rest of the kernel?

Matt

-- 
Matthew Dharm                              Home: mdharm-usb@one-eyed-alien.net 
Maintainer, Linux USB Mass Storage Driver

Why am I talking to a toilet brush?
					-- CEO
User Friendly, 4/30/1998

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

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

* Re: [PATCH 07/34] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-05 15:52   ` Jack Stone
@ 2011-04-05 18:09     ` Michal Marek
  2011-04-11 15:04     ` [PATCH v2] " Michal Marek
  1 sibling, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 18:09 UTC (permalink / raw)
  To: Jack Stone; +Cc: linux-kbuild, linux-kernel

Dne 5.4.2011 17:52, Jack Stone napsal(a):
> On 05/04/2011 15:58, Michal Marek wrote:
>> -  echo \#define LINUX_COMPILE_BY \"`whoami`\"
>> -  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
>> +  echo \#define LINUX_COMPILE_BY \"`echo $KBUILD_BUILD_USER | $UTS_TRUNCATE`\"
>> +  echo \#define LINUX_COMPILE_HOST \"`echo $KBUILD_BUILD_HOST | $UTS_TRUNCATE`\"
>
> Shouldn't these be the variables defined above otherwise we get empty
> LINUX_COMPILE_{BY,HOST} in the case the corresponding environment
> variable is unset.

Good catch. I'll fix it.

Thanks for the review.

Michal

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

* Re: [08/34] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  2011-04-05 17:31   ` [08/34] " Milton Miller
@ 2011-04-05 18:12     ` Michal Marek
  2011-04-11 15:06     ` [PATCH v2] " Michal Marek
  1 sibling, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-05 18:12 UTC (permalink / raw)
  To: Milton Miller; +Cc: linux-kernel, linux-kbuild

Dne 5.4.2011 19:31, Milton Miller napsal(a):
> On Tue, 05 Apr 2011 about 14:58:55 -0000, Michal Marek wrote:
>>
>> gen_init_cpio uses the current time for symlinks, special files and
>> directories.
>
> gen_init_cpio gets the current time and uses it for each symlink,
> special file, and directory.
>
> Grab the current time once, and ...
>
>> Make it possible to override this with the
> (s/this/it/)
>> KBUILD_BUILD_TIMESTAMP variable for reproducible builds.
>>
...
>> +	env = getenv("CPIO_TIMESTAMP");
>> +	if (env)
>> +		default_mtime = atol(env);
>> +	if (!default_mtime)
>> +		default_mtime = time(NULL);
>> +
>
> Please pass it via an explicit flag in argv instead of magic env variables.
>
> The other current use of the environment (the expansion of variables
> in the location name) is via explicit reference in the input file.
>
> Also, please use strol and check that the whole string is consumed.

Yeah, I was too lazy. I'll do it properly in v2.

Thanks for the review.

Michal

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

* Re: [PATCH 25/34] usb/ftdi-elan: Drop __TIME__ usage
  2011-04-05 17:50   ` Matthew Dharm
@ 2011-04-05 18:13     ` Greg KH
  0 siblings, 0 replies; 174+ messages in thread
From: Greg KH @ 2011-04-05 18:13 UTC (permalink / raw)
  To: Michal Marek, linux-kbuild, linux-kernel, Tony Olech, linux-usb

On Tue, Apr 05, 2011 at 10:50:10AM -0700, Matthew Dharm wrote:
> On Tue, Apr 05, 2011 at 04:59:12PM +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.
> 
> What about drivers built as modules, which may be compiled at a different
> time than the rest of the kernel?

We don't care :)

thanks,

greg k-h

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 15:49   ` Greg KH
  (?)
  (?)
@ 2011-04-05 18:16     ` James Bottomley
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:16     ` James Bottomley
  0 siblings, 0 replies; 174+ messages in thread
From: James Bottomley @ 2011-04-05 18:16 UTC (permalink / raw)
  To: Greg KH
  Cc: anil_ravindranath, mchehab, 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, bluesmoke-devel, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:16     ` James Bottomley
  0 siblings, 0 replies; 174+ 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-kernel, bluesmoke-devel, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:16     ` James Bottomley
  0 siblings, 0 replies; 174+ messages in thread
From: James Bottomley @ 2011-04-05 18:16 UTC (permalink / raw)
  To: linux-arm-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?

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

James

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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 18:16     ` James Bottomley
                         ` (2 preceding siblings ...)
  (?)
@ 2011-04-05 18:29       ` Mauro Carvalho Chehab
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:29       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:29       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 174+ messages in thread
From: Mauro Carvalho Chehab @ 2011-04-05 18:29 UTC (permalink / raw)
  To: James Bottomley
  Cc: anil_ravindranath, 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, bluesmoke-devel, linux-usb, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:29       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 174+ 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, bluesmoke-devel, linux-usb, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:29       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 174+ messages in thread
From: Mauro Carvalho Chehab @ 2011-04-05 18:29 UTC (permalink / raw)
  To: linux-arm-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] 174+ 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 18:37     ` Ivo Van Doorn
  2011-04-05 18:37     ` Ivo Van Doorn
  1 sibling, 0 replies; 174+ 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
>
>

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

* Re: [PATCH 19/34] rt2x00: Drop __TIME__ usage
@ 2011-04-05 18:37     ` Ivo Van Doorn
  0 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 18:29       ` Mauro Carvalho Chehab
                           ` (2 preceding siblings ...)
  (?)
@ 2011-04-05 18:44         ` Greg KH
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:44         ` Greg KH
  0 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:44         ` Greg KH
  0 siblings, 0 replies; 174+ messages in thread
From: Greg KH @ 2011-04-05 18:44 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: anil_ravindranath, 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, bluesmoke-devel, James Bottomley,
	tipc-discussion, chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:44         ` Greg KH
  0 siblings, 0 replies; 174+ 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, bluesmoke-devel, James Bottomley,
	tipc-discussion, chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 18:44         ` Greg KH
  0 siblings, 0 replies; 174+ messages in thread
From: Greg KH @ 2011-04-05 18:44 UTC (permalink / raw)
  To: linux-arm-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] 174+ messages in thread

* Re: [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h
  2011-04-05 14:58 ` [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h Michal Marek
@ 2011-04-05 18:57   ` Arnaud Lacombe
  2011-04-06  7:37     ` Michal Marek
  2011-04-18 13:04   ` Michal Marek
  1 sibling, 1 reply; 174+ messages in thread
From: Arnaud Lacombe @ 2011-04-05 18:57 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

Hi,

On Tue, Apr 5, 2011 at 10:58 AM, Michal Marek <mmarek@suse.cz> wrote:
> Timestamps in file data are useless and there is already one in .config
>
hum, shouldn't this be tunable via KCONFIG_NOTIMESTAMP ? This might be
useful to know when the file was generated, independently of the
.config, as conf_write() and conf_write_autoconf() are independent
from one another.

 - Arnaud

> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/kconfig/confdata.c |    8 ++------
>  1 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
> index 61c35bf..834eecb 100644
> --- a/scripts/kconfig/confdata.c
> +++ b/scripts/kconfig/confdata.c
> @@ -784,7 +784,6 @@ int conf_write_autoconf(void)
>        const char *str;
>        const char *name;
>        FILE *out, *tristate, *out_h;
> -       time_t now;
>        int i;
>
>        sym_clear_all_valid();
> @@ -811,22 +810,19 @@ int conf_write_autoconf(void)
>                return 1;
>        }
>
> -       time(&now);
>        fprintf(out, "#\n"
>                     "# Automatically generated make config: don't edit\n"
>                     "# %s\n"
> -                    "# %s"
>                     "#\n",
> -                    rootmenu.prompt->text, ctime(&now));
> +                    rootmenu.prompt->text);
>        fprintf(tristate, "#\n"
>                          "# Automatically generated - do not edit\n"
>                          "\n");
>        fprintf(out_h, "/*\n"
>                       " * Automatically generated C config: don't edit\n"
>                       " * %s\n"
> -                      " * %s"
>                       " */\n",
> -                      rootmenu.prompt->text, ctime(&now));
> +                      rootmenu.prompt->text);
>
>        for_all_symbols(i, sym) {
>                sym_calc_value(sym);
> --
> 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] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 15:49   ` Greg KH
  (?)
  (?)
@ 2011-04-05 19:24     ` Artem Bityutskiy
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 19:24     ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 19:24 UTC (permalink / raw)
  To: Greg KH
  Cc: anil_ravindranath, mchehab, 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, davem, James.Bottomley,
	tipc-discussion, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel

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 (Битюцкий Артём)

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

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 19:24     ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ 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, davem, James.Bottomley,
	tipc-discussion, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel

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 (Битюцкий Артём)

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

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-05 19:24     ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-05 19:24 UTC (permalink / raw)
  To: linux-arm-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 (???????? ?????)

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

* Re: [PATCH 20/34] parport: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 20/34] parport: " Michal Marek
@ 2011-04-05 20:00   ` Arnaud Giersch
  2011-05-25 20:44     ` Michal Marek
  0 siblings, 1 reply; 174+ messages in thread
From: Arnaud Giersch @ 2011-04-05 20:00 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

Mardi 05 avril 2011, vers 16:59:07 (+0200), Michal Marek a écrit :

> 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: Arnaud Giersch <arnaud.giersch@free.fr>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/parport/parport_ip32.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)

I do not use this module anymore, but anyway...

Acked-by: Arnaud Giersch <arnaud.giersch@free.fr>

Arnaud

^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ 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; 174+ 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/
>

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

* Re: [PATCH 29/34] tipc: Drop __TIME__ usage
@ 2011-04-05 22:25     ` Paul Gortmaker
  0 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h
  2011-04-05 18:57   ` Arnaud Lacombe
@ 2011-04-06  7:37     ` Michal Marek
  2011-04-06 16:25       ` Arnaud Lacombe
  0 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-06  7:37 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kbuild, linux-kernel

On 5.4.2011 20:57, Arnaud Lacombe wrote:
> Hi,
> 
> On Tue, Apr 5, 2011 at 10:58 AM, Michal Marek <mmarek@suse.cz> wrote:
>> Timestamps in file data are useless and there is already one in .config
>>
> hum, shouldn't this be tunable via KCONFIG_NOTIMESTAMP ? This might be
> useful to know when the file was generated, independently of the
> .config, as conf_write() and conf_write_autoconf() are independent
> from one another.

Yeah, but ls -l include/generated/autoconf.h will tell you the same,
won't it?

Michal

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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-05 15:30   ` H. Peter Anvin
@ 2011-04-06  7:47     ` Michal Marek
  2011-04-11 15:08       ` Michal Marek
  0 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-06  7:47 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: linux-kbuild, linux-kernel, Thomas Gleixner, Ingo Molnar, x86

On 5.4.2011 17:30, H. Peter Anvin wrote:
>> --- a/arch/x86/boot/Makefile
>> +++ b/arch/x86/boot/Makefile
>> @@ -13,7 +13,7 @@
>>  # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
>>  # the default of FLOPPY is used by 'build'.
>>  
>> -ROOT_DEV	:= CURRENT
>> +ROOT_DEV	?= CURRENT
>>  
>>  # If you want to preset the SVGA mode, uncomment the next line and
>>  # set SVGA_MODE to whatever number you want.
> 
> Is this a good thing?  As far as I understand ?= it may mean picking
> something up from the outside environment.
> 
> Since ROOT_DEV has been obsolete for 15 years or more, this would seem
> to be a needless new error mode.

So can we just set the default root device to (0, 0)?

Michal

^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 33/34] usb/lh7a40x_udc: Drop __DATE__ usage
  2011-04-05 16:25     ` Russell King - ARM Linux
@ 2011-04-06  8:23       ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06  8:23 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: linux-kbuild, linux-usb, linux-kernel, linux-arm-kernel, Marc Singer

On 5.4.2011 18:25, Russell King - ARM Linux wrote:
> On Tue, Apr 05, 2011 at 04:59:20PM +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.
> 
> This file no longer exists.

I only tested the series on top of 2.6.38. I dropped this patch now,
sorry for the noise.

Michal

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

* [PATCH 33/34] usb/lh7a40x_udc: Drop __DATE__ usage
@ 2011-04-06  8:23       ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06  8:23 UTC (permalink / raw)
  To: linux-arm-kernel

On 5.4.2011 18:25, Russell King - ARM Linux wrote:
> On Tue, Apr 05, 2011 at 04:59:20PM +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.
> 
> This file no longer exists.

I only tested the series on top of 2.6.38. I dropped this patch now,
sorry for the noise.

Michal

^ permalink raw reply	[flat|nested] 174+ 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
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  8:57       ` Ingo Molnar
  0 siblings, 0 replies; 174+ messages in thread
From: Ingo Molnar @ 2011-04-06  8:57 UTC (permalink / raw)
  To: Artem Bityutskiy
  Cc: anil_ravindranath, mchehab, 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, linux-kernel, davem, linux-usb,
	James.Bottomley, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel


* 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  8:57       ` Ingo Molnar
  0 siblings, 0 replies; 174+ 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, linux-kernel, davem, linux-usb,
	James.Bottomley, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel


* 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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  8:57       ` Ingo Molnar
  0 siblings, 0 replies; 174+ messages in thread
From: Ingo Molnar @ 2011-04-06  8:57 UTC (permalink / raw)
  To: linux-arm-kernel


* 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 14:58 ` Michal Marek
  (?)
  (?)
@ 2011-04-06  9:01   ` Ingo Molnar
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:01   ` Ingo Molnar
  0 siblings, 0 replies; 174+ messages in thread
From: Ingo Molnar @ 2011-04-06  9:01 UTC (permalink / raw)
  To: Michal Marek
  Cc: anil_ravindranath, mchehab, 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, bluesmoke-devel, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem


* 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:01   ` Ingo Molnar
  0 siblings, 0 replies; 174+ 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, bluesmoke-devel, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem


* 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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:01   ` Ingo Molnar
  0 siblings, 0 replies; 174+ messages in thread
From: Ingo Molnar @ 2011-04-06  9:01 UTC (permalink / raw)
  To: linux-arm-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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-06  8:57       ` Ingo Molnar
                         ` (2 preceding siblings ...)
  (?)
@ 2011-04-06  9:04       ` Artem Bityutskiy
  -1 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-06  9:04 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

[Removed CCs to spam people less]

On Wed, 2011-04-06 at 10:57 +0200, Ingo Molnar wrote:
>   checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__

Great, thanks, did not see this!

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


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

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 19:24     ` Artem Bityutskiy
                         ` (2 preceding siblings ...)
  (?)
@ 2011-04-06  9:07       ` Michal Marek
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:07       ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06  9:07 UTC (permalink / raw)
  To: dedekind1
  Cc: anil_ravindranath, mchehab, 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, davem, linux-usb,
	James.Bottomley, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:07       ` Michal Marek
  0 siblings, 0 replies; 174+ 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, davem, linux-usb,
	James.Bottomley, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel

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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:07       ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06  9:07 UTC (permalink / raw)
  To: linux-arm-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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:07       ` Michal Marek
  0 siblings, 0 replies; 174+ 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

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-05 15:49   ` Greg KH
  (?)
  (?)
@ 2011-04-06  9:23     ` Michal Marek
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:23     ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06  9:23 UTC (permalink / raw)
  To: Greg KH
  Cc: anil_ravindranath, mchehab, 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-devel, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:23     ` Michal Marek
  0 siblings, 0 replies; 174+ 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-devel, James.Bottomley, tipc-discussion,
	chuanxiao.dong, paulus, dwmw2, davem

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] 174+ messages in thread

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:23     ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
  2011-04-06  9:07       ` Michal Marek
                           ` (2 preceding siblings ...)
  (?)
@ 2011-04-06  9:25         ` Artem Bityutskiy
  -1 siblings, 0 replies; 174+ 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] 174+ messages in thread

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:25         ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-06  9:25 UTC (permalink / raw)
  To: Michal Marek
  Cc: anil_ravindranath, mchehab, 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, davem, linux-usb,
	James.Bottomley, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel

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 (Артём Битюцкий)

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

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:25         ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ 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, davem, linux-usb,
	James.Bottomley, chuanxiao.dong, paulus, linuxppc-dev,
	bluesmoke-devel

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 (Артём Битюцкий)

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

* [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:25         ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ messages in thread
From: Artem Bityutskiy @ 2011-04-06  9:25 UTC (permalink / raw)
  To: linux-arm-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 (????? ????????)

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

* Re: [PATCH 00/34] Make kernel build deterministic
@ 2011-04-06  9:25         ` Artem Bityutskiy
  0 siblings, 0 replies; 174+ 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

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] 174+ messages in thread

* Re: [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h
  2011-04-06  7:37     ` Michal Marek
@ 2011-04-06 16:25       ` Arnaud Lacombe
  2011-04-06 20:39         ` Michal Marek
  0 siblings, 1 reply; 174+ messages in thread
From: Arnaud Lacombe @ 2011-04-06 16:25 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

Hi,

On Wed, Apr 6, 2011 at 3:37 AM, Michal Marek <mmarek@suse.cz> wrote:
> On 5.4.2011 20:57, Arnaud Lacombe wrote:
>> Hi,
>>
>> On Tue, Apr 5, 2011 at 10:58 AM, Michal Marek <mmarek@suse.cz> wrote:
>>> Timestamps in file data are useless and there is already one in .config
>>>
>> hum, shouldn't this be tunable via KCONFIG_NOTIMESTAMP ? This might be
>> useful to know when the file was generated, independently of the
>> .config, as conf_write() and conf_write_autoconf() are independent
>> from one another.
>
> Yeah, but ls -l include/generated/autoconf.h will tell you the same,
> won't it?
>
Not if the file is spread to other machine/fs. Not that I care much
though, but for consistency, either KCONFIG_NOTIMESTAMP is honored in
every places where timestamps are used, or it should be killed
altogether.

 - Arnaud

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

* Re: [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h
  2011-04-06 16:25       ` Arnaud Lacombe
@ 2011-04-06 20:39         ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-06 20:39 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kbuild, linux-kernel

On 6.4.2011 18:25, Arnaud Lacombe wrote:
> Hi,
> 
> On Wed, Apr 6, 2011 at 3:37 AM, Michal Marek <mmarek@suse.cz> wrote:
>> On 5.4.2011 20:57, Arnaud Lacombe wrote:
>>> Hi,
>>>
>>> On Tue, Apr 5, 2011 at 10:58 AM, Michal Marek <mmarek@suse.cz> wrote:
>>>> Timestamps in file data are useless and there is already one in .config
>>>>
>>> hum, shouldn't this be tunable via KCONFIG_NOTIMESTAMP ? This might be
>>> useful to know when the file was generated, independently of the
>>> .config, as conf_write() and conf_write_autoconf() are independent
>>> from one another.
>>
>> Yeah, but ls -l include/generated/autoconf.h will tell you the same,
>> won't it?
>>
> Not if the file is spread to other machine/fs. Not that I care much
> though, but for consistency, either KCONFIG_NOTIMESTAMP is honored in
> every places where timestamps are used, or it should be killed
> altogether.

Or we kill the timestamps in the other places :). auto.conf and
autoconf.h are "internal" files, .config is the file supplied and edited
by the user and I can see that some might find the embedded timestamp
useful. But I doubt that anyone needs the timestamp in auto.conf and
autoconf.h.

Michal

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

* [PATCH v2] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-05 15:52   ` Jack Stone
  2011-04-05 18:09     ` Michal Marek
@ 2011-04-11 15:04     ` Michal Marek
  2011-04-12  3:25       ` Valdis.Kletnieks
  1 sibling, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-11 15:04 UTC (permalink / raw)
  To: jwjstone; +Cc: linux-kbuild, linux-kernel

Make it possible to override the user@host string displayed during boot
and in /proc/version by the environment variables KBUILD_BUILD_USER and
KBUILD_BUILD_HOST. Several distributions patch scripts/mkcompile_h to
achieve this, so let's provide an official way.

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 Documentation/kbuild/kbuild.txt |   12 ++++++++++++
 scripts/mkcompile_h             |   14 ++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
index 4a99031..27d7928 100644
--- a/Documentation/kbuild/kbuild.txt
+++ b/Documentation/kbuild/kbuild.txt
@@ -196,3 +196,15 @@ to be included in the databases, separated by blank space. E.g.:
 To get all available archs you can also specify all. E.g.:
 
     $ make ALLSOURCE_ARCHS=all tags
+
+KBUILD_BUILD_TIMESTAMP
+--------------------------------------------------
+Setting this to a date string overrides the timestamp used in the
+UTS_VERSION definition (uname -v in the running kernel). The default value
+is the output of the date command at one point during build.
+
+KBUILD_BUILD_USER, KBUILD_BUILD_HOST
+--------------------------------------------------
+These two variables allow to override the user@host string displayed during
+boot and in /proc/version. The default value is the output of the commands
+whoami and host, respectively.
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index 82416a8..7ad6bf7 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -42,6 +42,16 @@ if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
 else
 	TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
 fi
+if test -z "$KBUILD_BUILD_USER"; then
+	LINUX_COMPILE_BY=`whoami`
+else
+	LINUX_COMPILE_BY=$KBUILD_BUILD_USER
+fi
+if test -z "$KBUILD_BUILD_HOST"; then
+	LINUX_COMPILE_HOST=`hostname`
+else
+	LINUX_COMPILE_HOST=$KBUILD_BUILD_HOST
+fi
 
 UTS_VERSION="#$VERSION"
 CONFIG_FLAGS=""
@@ -63,8 +73,8 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
 
   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
 
-  echo \#define LINUX_COMPILE_BY \"`whoami`\"
-  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
+  echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
+  echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
 
   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
 ) > .tmpcompile
-- 
1.7.4.1


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

* [PATCH v2] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  2011-04-05 17:31   ` [08/34] " Milton Miller
  2011-04-05 18:12     ` Michal Marek
@ 2011-04-11 15:06     ` Michal Marek
  2011-04-18 13:06       ` Michal Marek
  1 sibling, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-11 15:06 UTC (permalink / raw)
  To: miltonm; +Cc: linux-kbuild, linux-kernel

gen_init_cpio gets the current time and uses it for each symlink,
special file, and directory.  Grab the current time once and make it
possible to override it with the KBUILD_BUILD_TIMESTAMP variable for
reproducible builds.

Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 Documentation/kbuild/kbuild.txt |    3 +-
 scripts/gen_initramfs_list.sh   |    9 ++++++-
 usr/gen_init_cpio.c             |   53 +++++++++++++++++++++++++++++---------
 3 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
index 27d7928..46e6cb8 100644
--- a/Documentation/kbuild/kbuild.txt
+++ b/Documentation/kbuild/kbuild.txt
@@ -200,7 +200,8 @@ To get all available archs you can also specify all. E.g.:
 KBUILD_BUILD_TIMESTAMP
 --------------------------------------------------
 Setting this to a date string overrides the timestamp used in the
-UTS_VERSION definition (uname -v in the running kernel). The default value
+UTS_VERSION definition (uname -v in the running kernel). The value has to
+be a string that can be passed to date -d. The default value
 is the output of the date command at one point during build.
 
 KBUILD_BUILD_USER, KBUILD_BUILD_HOST
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
index 4a43fe1..d44cf67 100644
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -287,8 +287,15 @@ done
 # we are carefull to delete tmp files
 if [ ! -z ${output_file} ]; then
 	if [ -z ${cpio_file} ]; then
+		timestamp=
+		if test -n "$KBUILD_BUILD_TIMESTAMP"; then
+			timestamp="$(date -d"$KBUILD_BUILD_TIMESTAMP" +%s || :)"
+			if test -n "$timestamp"; then
+				timestamp="-t $timestamp"
+			fi
+		fi
 		cpio_tfile="$(mktemp ${TMPDIR:-/tmp}/cpiofile.XXXXXX)"
-		usr/gen_init_cpio ${cpio_list} > ${cpio_tfile}
+		usr/gen_init_cpio $timestamp ${cpio_list} > ${cpio_tfile}
 	else
 		cpio_tfile=${cpio_file}
 	fi
diff --git a/usr/gen_init_cpio.c b/usr/gen_init_cpio.c
index 7f06884..af0f22f 100644
--- a/usr/gen_init_cpio.c
+++ b/usr/gen_init_cpio.c
@@ -22,6 +22,7 @@
 
 static unsigned int offset;
 static unsigned int ino = 721;
+static time_t default_mtime;
 
 struct file_handler {
 	const char *type;
@@ -102,7 +103,6 @@ static int cpio_mkslink(const char *name, const char *target,
 			 unsigned int mode, uid_t uid, gid_t gid)
 {
 	char s[256];
-	time_t mtime = time(NULL);
 
 	if (name[0] == '/')
 		name++;
@@ -114,7 +114,7 @@ static int cpio_mkslink(const char *name, const char *target,
 		(long) uid,		/* uid */
 		(long) gid,		/* gid */
 		1,			/* nlink */
-		(long) mtime,		/* mtime */
+		(long) default_mtime,	/* mtime */
 		(unsigned)strlen(target)+1, /* filesize */
 		3,			/* major */
 		1,			/* minor */
@@ -152,7 +152,6 @@ static int cpio_mkgeneric(const char *name, unsigned int mode,
 		       uid_t uid, gid_t gid)
 {
 	char s[256];
-	time_t mtime = time(NULL);
 
 	if (name[0] == '/')
 		name++;
@@ -164,7 +163,7 @@ static int cpio_mkgeneric(const char *name, unsigned int mode,
 		(long) uid,		/* uid */
 		(long) gid,		/* gid */
 		2,			/* nlink */
-		(long) mtime,		/* mtime */
+		(long) default_mtime,	/* mtime */
 		0,			/* filesize */
 		3,			/* major */
 		1,			/* minor */
@@ -242,7 +241,6 @@ static int cpio_mknod(const char *name, unsigned int mode,
 		       unsigned int maj, unsigned int min)
 {
 	char s[256];
-	time_t mtime = time(NULL);
 
 	if (dev_type == 'b')
 		mode |= S_IFBLK;
@@ -259,7 +257,7 @@ static int cpio_mknod(const char *name, unsigned int mode,
 		(long) uid,		/* uid */
 		(long) gid,		/* gid */
 		1,			/* nlink */
-		(long) mtime,		/* mtime */
+		(long) default_mtime,	/* mtime */
 		0,			/* filesize */
 		3,			/* major */
 		1,			/* minor */
@@ -460,7 +458,7 @@ static int cpio_mkfile_line(const char *line)
 static void usage(const char *prog)
 {
 	fprintf(stderr, "Usage:\n"
-		"\t%s <cpio_list>\n"
+		"\t%s [-t <timestamp>] <cpio_list>\n"
 		"\n"
 		"<cpio_list> is a file containing newline separated entries that\n"
 		"describe the files to be included in the initramfs archive:\n"
@@ -491,7 +489,11 @@ static void usage(const char *prog)
 		"nod /dev/console 0600 0 0 c 5 1\n"
 		"dir /root 0700 0 0\n"
 		"dir /sbin 0755 0 0\n"
-		"file /sbin/kinit /usr/src/klibc/kinit/kinit 0755 0 0\n",
+		"file /sbin/kinit /usr/src/klibc/kinit/kinit 0755 0 0\n"
+		"\n"
+		"<timestamp> is time in seconds since Epoch that will be used\n"
+		"as mtime for symlinks, special files and directories. The default\n"
+		"is to use the current time for these entries.\n",
 		prog);
 }
 
@@ -529,17 +531,42 @@ int main (int argc, char *argv[])
 	char *args, *type;
 	int ec = 0;
 	int line_nr = 0;
+	const char *filename;
+
+	default_mtime = time(NULL);
+	while (1) {
+		int opt = getopt(argc, argv, "t:h");
+		char *invalid;
 
-	if (2 != argc) {
+		if (opt == -1)
+			break;
+		switch (opt) {
+		case 't':
+			default_mtime = strtol(optarg, &invalid, 10);
+			if (!*optarg || *invalid) {
+				fprintf(stderr, "Invalid timestamp: %s\n",
+						optarg);
+				usage(argv[0]);
+				exit(1);
+			}
+			break;
+		case 'h':
+		case '?':
+			usage(argv[0]);
+			exit(opt == 'h' ? 0 : 1);
+		}
+	}
+
+	if (argc - optind != 1) {
 		usage(argv[0]);
 		exit(1);
 	}
-
-	if (!strcmp(argv[1], "-"))
+	filename = argv[optind];
+	if (!strcmp(filename, "-"))
 		cpio_list = stdin;
-	else if (! (cpio_list = fopen(argv[1], "r"))) {
+	else if (!(cpio_list = fopen(filename, "r"))) {
 		fprintf(stderr, "ERROR: unable to open '%s': %s\n\n",
-			argv[1], strerror(errno));
+			filename, strerror(errno));
 		usage(argv[0]);
 		exit(1);
 	}
-- 
1.7.4.1


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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-06  7:47     ` Michal Marek
@ 2011-04-11 15:08       ` Michal Marek
  2011-04-12  3:25         ` Valdis.Kletnieks
                           ` (3 more replies)
  0 siblings, 4 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-11 15:08 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: linux-kbuild, linux-kernel, Thomas Gleixner, Ingo Molnar, x86

On Wed, Apr 06, 2011 at 09:47:44AM +0200, Michal Marek wrote:
> On 5.4.2011 17:30, H. Peter Anvin wrote:
> >> --- a/arch/x86/boot/Makefile
> >> +++ b/arch/x86/boot/Makefile
> >> @@ -13,7 +13,7 @@
> >>  # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
> >>  # the default of FLOPPY is used by 'build'.
> >>  
> >> -ROOT_DEV	:= CURRENT
> >> +ROOT_DEV	?= CURRENT
> >>  
> >>  # If you want to preset the SVGA mode, uncomment the next line and
> >>  # set SVGA_MODE to whatever number you want.
> > 
> > Is this a good thing?  As far as I understand ?= it may mean picking
> > something up from the outside environment.
> > 
> > Since ROOT_DEV has been obsolete for 15 years or more, this would seem
> > to be a needless new error mode.
> 
> So can we just set the default root device to (0, 0)?

Like this?

Subject: [PATCH] x86: Do not set the rood_dev field in bzImage

This has been obsoleted by the root= commandline for several years.
People who still depend on this will surely have a copy of the rdev
command around, the rest of the world gets rid of another piece of
buildhost-dependent data in the build.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
 arch/x86/boot/Makefile |    9 +--------
 1 files changed, 1 insertions(+), 8 deletions(-)

diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index f7cb086..95365a8 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -9,12 +9,6 @@
 # Changed by many, many contributors over the years.
 #
 
-# ROOT_DEV specifies the default root-device when making the image.
-# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
-# the default of FLOPPY is used by 'build'.
-
-ROOT_DEV	:= CURRENT
-
 # If you want to preset the SVGA mode, uncomment the next line and
 # set SVGA_MODE to whatever number you want.
 # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
@@ -75,8 +69,7 @@ GCOV_PROFILE := n
 $(obj)/bzImage: asflags-y  := $(SVGA_MODE)
 
 quiet_cmd_image = BUILD   $@
-cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
-	$(ROOT_DEV) > $@
+cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin > $@
 
 $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
 	$(call if_changed,image)
-- 
1.7.4.1


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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-11 15:08       ` Michal Marek
@ 2011-04-12  3:25         ` Valdis.Kletnieks
  2011-04-12  7:11           ` Paul Bolle
  2011-04-12  3:39         ` H. Peter Anvin
                           ` (2 subsequent siblings)
  3 siblings, 1 reply; 174+ messages in thread
From: Valdis.Kletnieks @ 2011-04-12  3:25 UTC (permalink / raw)
  To: Michal Marek
  Cc: H. Peter Anvin, linux-kbuild, linux-kernel, Thomas Gleixner,
	Ingo Molnar, x86

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

On Mon, 11 Apr 2011 17:08:21 +0200, Michal Marek said:

> Like this?

> Subject: [PATCH] x86: Do not set the rood_dev field in bzImage

'rood'? ;)

> -# ROOT_DEV specifies the default root-device when making the image.
> -# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
> -# the default of FLOPPY is used by 'build'.

Does the default of FLOPPY still get used after this patch, or is this a stale comment?
Also, I sort of expected to see more code removed that *used* the no-longer-passed
value of ROOT_DEV.

(All my boxes have grub pass a root=, so I don't have a dog in this fight...)

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

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

* Re: [PATCH v2] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-11 15:04     ` [PATCH v2] " Michal Marek
@ 2011-04-12  3:25       ` Valdis.Kletnieks
  2011-04-12  9:01         ` Michal Marek
  0 siblings, 1 reply; 174+ messages in thread
From: Valdis.Kletnieks @ 2011-04-12  3:25 UTC (permalink / raw)
  To: Michal Marek; +Cc: jwjstone, linux-kbuild, linux-kernel

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

On Mon, 11 Apr 2011 17:04:49 +0200, Michal Marek said:
> Make it possible to override the user@host string displayed during boot
> and in /proc/version by the environment variables KBUILD_BUILD_USER and
> KBUILD_BUILD_HOST. 

> +
> +KBUILD_BUILD_TIMESTAMP

Changelog section doesn't match actual patch.  Other than that, I'm OK on this.

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

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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-11 15:08       ` Michal Marek
  2011-04-12  3:25         ` Valdis.Kletnieks
@ 2011-04-12  3:39         ` H. Peter Anvin
  2011-04-12  5:01         ` Paul Bolle
  2011-04-12 11:30         ` [PATCH v2] x86: Do not set the root_dev field in bzImage Michal Marek
  3 siblings, 0 replies; 174+ messages in thread
From: H. Peter Anvin @ 2011-04-12  3:39 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-kernel, Thomas Gleixner, Ingo Molnar, x86

On 04/11/2011 08:08 AM, Michal Marek wrote:
>
> Like this?
>
> Subject: [PATCH] x86: Do not set the rood_dev field in bzImage
>
> This has been obsoleted by the root= commandline for several years.
> People who still depend on this will surely have a copy of the rdev
> command around, the rest of the world gets rid of another piece of
> buildhost-dependent data in the build.
>

Works for me.  "Several years" is even kind of an understatement ;)

	-hpa

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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-11 15:08       ` Michal Marek
  2011-04-12  3:25         ` Valdis.Kletnieks
  2011-04-12  3:39         ` H. Peter Anvin
@ 2011-04-12  5:01         ` Paul Bolle
  2011-04-12  9:57           ` Michal Marek
  2011-04-12 11:30         ` [PATCH v2] x86: Do not set the root_dev field in bzImage Michal Marek
  3 siblings, 1 reply; 174+ messages in thread
From: Paul Bolle @ 2011-04-12  5:01 UTC (permalink / raw)
  To: Michal Marek
  Cc: H. Peter Anvin, linux-kbuild, linux-kernel, Thomas Gleixner,
	Ingo Molnar, x86

On Mon, 2011-04-11 at 17:08 +0200, Michal Marek wrote:
> Subject: [PATCH] x86: Do not set the rood_dev field in bzImage
> 
> This has been obsoleted by the root= commandline for several years.
> People who still depend on this will surely have a copy of the rdev
> command around, the rest of the world gets rid of another piece of
> buildhost-dependent data in the build.
> 
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: x86@kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  arch/x86/boot/Makefile |    9 +--------
>  1 files changed, 1 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
> index f7cb086..95365a8 100644
> --- a/arch/x86/boot/Makefile
> +++ b/arch/x86/boot/Makefile
> @@ -9,12 +9,6 @@
>  # Changed by many, many contributors over the years.
>  #
>  
> -# ROOT_DEV specifies the default root-device when making the image.
> -# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
> -# the default of FLOPPY is used by 'build'.
> -
> -ROOT_DEV	:= CURRENT
> -
>  # If you want to preset the SVGA mode, uncomment the next line and
>  # set SVGA_MODE to whatever number you want.
>  # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
> @@ -75,8 +69,7 @@ GCOV_PROFILE := n
>  $(obj)/bzImage: asflags-y  := $(SVGA_MODE)
>  
>  quiet_cmd_image = BUILD   $@
> -cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
> -	$(ROOT_DEV) > $@
> +cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin > $@
>  
>  $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
>  	$(call if_changed,image)

I'm not familiar with the rdev command. I assume it allows one to
manipulate the two rootdev bytes in a kernel image. Anyhow, shouldn't
the above patch be complemented with something like the following?

diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
index ee3a4ea..fdc60a0 100644
--- a/arch/x86/boot/tools/build.c
+++ b/arch/x86/boot/tools/build.c
@@ -130,7 +130,7 @@ static void die(const char * str, ...)
 
 static void usage(void)
 {
-	die("Usage: build setup system [rootdev] [> image]");
+	die("Usage: build setup system [> image]");
 }
 
 int main(int argc, char ** argv)
@@ -138,39 +138,14 @@ int main(int argc, char ** argv)
 	unsigned int i, sz, setup_sectors;
 	int c;
 	u32 sys_size;
-	u8 major_root, minor_root;
 	struct stat sb;
 	FILE *file;
 	int fd;
 	void *kernel;
 	u32 crc = 0xffffffffUL;
 
-	if ((argc < 3) || (argc > 4))
+	if (argc != 3)
 		usage();
-	if (argc > 3) {
-		if (!strcmp(argv[3], "CURRENT")) {
-			if (stat("/", &sb)) {
-				perror("/");
-				die("Couldn't stat /");
-			}
-			major_root = major(sb.st_dev);
-			minor_root = minor(sb.st_dev);
-		} else if (strcmp(argv[3], "FLOPPY")) {
-			if (stat(argv[3], &sb)) {
-				perror(argv[3]);
-				die("Couldn't stat root device.");
-			}
-			major_root = major(sb.st_rdev);
-			minor_root = minor(sb.st_rdev);
-		} else {
-			major_root = 0;
-			minor_root = 0;
-		}
-	} else {
-		major_root = DEFAULT_MAJOR_ROOT;
-		minor_root = DEFAULT_MINOR_ROOT;
-	}
-	fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
 
 	/* Copy the setup code */
 	file = fopen(argv[1], "r");
@@ -193,8 +168,8 @@ int main(int argc, char ** argv)
 	memset(buf+c, 0, i-c);
 
 	/* Set the default root device */
-	buf[508] = minor_root;
-	buf[509] = major_root;
+	buf[508] = DEFAULT_MINOR_ROOT;
+	buf[509] = DEFAULT_MAJOR_ROOT;
 
 	fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
 



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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-12  3:25         ` Valdis.Kletnieks
@ 2011-04-12  7:11           ` Paul Bolle
  0 siblings, 0 replies; 174+ messages in thread
From: Paul Bolle @ 2011-04-12  7:11 UTC (permalink / raw)
  To: Valdis.Kletnieks
  Cc: Michal Marek, H. Peter Anvin, linux-kbuild, linux-kernel,
	Thomas Gleixner, Ingo Molnar, x86

On Mon, 2011-04-11 at 23:25 -0400, Valdis.Kletnieks@vt.edu wrote:

> Does the default of FLOPPY still get used after this patch, or is this a stale comment?

It looks like a stale comment to me. The default currently actually is
0, 0 (major, minor). I'm not sure "FLOPPY" even works. Is
'stat("FLOPPY", ...)' legal?

> Also, I sort of expected to see more code removed that *used* the no-longer-passed
> value of ROOT_DEV.

That's what I expect too. See my addendum to Michal's patch in the
message I sent a few hours ago.


Paul Bolle


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

* Re: [PATCH v2] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-12  3:25       ` Valdis.Kletnieks
@ 2011-04-12  9:01         ` Michal Marek
  2011-04-18 13:05           ` Michal Marek
  0 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-12  9:01 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: jwjstone, linux-kbuild, linux-kernel

On 12.4.2011 05:25, Valdis.Kletnieks@vt.edu wrote:
> On Mon, 11 Apr 2011 17:04:49 +0200, Michal Marek said:
>> Make it possible to override the user@host string displayed during boot
>> and in /proc/version by the environment variables KBUILD_BUILD_USER and
>> KBUILD_BUILD_HOST. 
> 
>> +
>> +KBUILD_BUILD_TIMESTAMP
> 
> Changelog section doesn't match actual patch.  Other than that, I'm OK on this.

I changed it to

  Make it possible to override the user@host string displayed during boot
  and in /proc/version by the environment variables KBUILD_BUILD_USER and
  KBUILD_BUILD_HOST. Several distributions patch scripts/mkcompile_h to
  achieve this, so let's provide an official way. Also, document the
  KBUILD_BUILD_TIMESTAMP variable while at it.

Michal

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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-12  5:01         ` Paul Bolle
@ 2011-04-12  9:57           ` Michal Marek
  2011-04-12 10:40             ` Paul Bolle
  0 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-04-12  9:57 UTC (permalink / raw)
  To: Paul Bolle
  Cc: H. Peter Anvin, linux-kbuild, linux-kernel, Thomas Gleixner,
	Ingo Molnar, x86

On 12.4.2011 07:01, Paul Bolle wrote:
> On Mon, 2011-04-11 at 17:08 +0200, Michal Marek wrote:
>> Subject: [PATCH] x86: Do not set the rood_dev field in bzImage
[...]
> I'm not familiar with the rdev command. I assume it allows one to
> manipulate the two rootdev bytes in a kernel image.

Yes.


> Anyhow, shouldn't
> the above patch be complemented with something like the following?
>
> diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
> index ee3a4ea..fdc60a0 100644

That makes sense. Will you send it as a proper patch or should I fold it 
into my patch?

Michal

> --- a/arch/x86/boot/tools/build.c
> +++ b/arch/x86/boot/tools/build.c
> @@ -130,7 +130,7 @@ static void die(const char * str, ...)
>
>   static void usage(void)
>   {
> -	die("Usage: build setup system [rootdev] [>  image]");
> +	die("Usage: build setup system [>  image]");
>   }
>
>   int main(int argc, char ** argv)
> @@ -138,39 +138,14 @@ int main(int argc, char ** argv)
>   	unsigned int i, sz, setup_sectors;
>   	int c;
>   	u32 sys_size;
> -	u8 major_root, minor_root;
>   	struct stat sb;
>   	FILE *file;
>   	int fd;
>   	void *kernel;
>   	u32 crc = 0xffffffffUL;
>
> -	if ((argc<  3) || (argc>  4))
> +	if (argc != 3)
>   		usage();
> -	if (argc>  3) {
> -		if (!strcmp(argv[3], "CURRENT")) {
> -			if (stat("/",&sb)) {
> -				perror("/");
> -				die("Couldn't stat /");
> -			}
> -			major_root = major(sb.st_dev);
> -			minor_root = minor(sb.st_dev);
> -		} else if (strcmp(argv[3], "FLOPPY")) {
> -			if (stat(argv[3],&sb)) {
> -				perror(argv[3]);
> -				die("Couldn't stat root device.");
> -			}
> -			major_root = major(sb.st_rdev);
> -			minor_root = minor(sb.st_rdev);
> -		} else {
> -			major_root = 0;
> -			minor_root = 0;
> -		}
> -	} else {
> -		major_root = DEFAULT_MAJOR_ROOT;
> -		minor_root = DEFAULT_MINOR_ROOT;
> -	}
> -	fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
>
>   	/* Copy the setup code */
>   	file = fopen(argv[1], "r");
> @@ -193,8 +168,8 @@ int main(int argc, char ** argv)
>   	memset(buf+c, 0, i-c);
>
>   	/* Set the default root device */
> -	buf[508] = minor_root;
> -	buf[509] = major_root;
> +	buf[508] = DEFAULT_MINOR_ROOT;
> +	buf[509] = DEFAULT_MAJOR_ROOT;
>
>   	fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
>
>
>


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

* Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
  2011-04-12  9:57           ` Michal Marek
@ 2011-04-12 10:40             ` Paul Bolle
  0 siblings, 0 replies; 174+ messages in thread
From: Paul Bolle @ 2011-04-12 10:40 UTC (permalink / raw)
  To: Michal Marek
  Cc: H. Peter Anvin, linux-kbuild, linux-kernel, Thomas Gleixner,
	Ingo Molnar, x86

On Tue, 2011-04-12 at 11:57 +0200, Michal Marek wrote:
> That makes sense. Will you send it as a proper patch or should I fold it 
> into my patch?

I suggest you fold it into your patch, so everything is cleaned up in a
single commit.


Paul Bolle


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

* [PATCH v2] x86: Do not set the root_dev field in bzImage
  2011-04-11 15:08       ` Michal Marek
                           ` (2 preceding siblings ...)
  2011-04-12  5:01         ` Paul Bolle
@ 2011-04-12 11:30         ` Michal Marek
  2011-05-11 15:22           ` Michal Marek
  2011-05-25 20:49           ` [tip:x86/build] x86, build: " tip-bot for Michal Marek
  3 siblings, 2 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-12 11:30 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Paul Bolle

This has been obsoleted by the root= commandline for several years.
People who still depend on this will surely have a copy of the rdev
command around, the rest of the world gets rid of another piece of
buildhost-dependent data in the build. Thanks to Paul Bolle for the
build.c cleanup.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Cc: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Michal Marek <mmarek@suse.cz>

diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index f7cb086..95365a8 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -9,12 +9,6 @@
 # Changed by many, many contributors over the years.
 #
 
-# ROOT_DEV specifies the default root-device when making the image.
-# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
-# the default of FLOPPY is used by 'build'.
-
-ROOT_DEV	:= CURRENT
-
 # If you want to preset the SVGA mode, uncomment the next line and
 # set SVGA_MODE to whatever number you want.
 # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
@@ -75,8 +69,7 @@ GCOV_PROFILE := n
 $(obj)/bzImage: asflags-y  := $(SVGA_MODE)
 
 quiet_cmd_image = BUILD   $@
-cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
-	$(ROOT_DEV) > $@
+cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin > $@
 
 $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
 	$(call if_changed,image)
diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
index ee3a4ea..fdc60a0 100644
--- a/arch/x86/boot/tools/build.c
+++ b/arch/x86/boot/tools/build.c
@@ -130,7 +130,7 @@ static void die(const char * str, ...)
 
 static void usage(void)
 {
-	die("Usage: build setup system [rootdev] [> image]");
+	die("Usage: build setup system [> image]");
 }
 
 int main(int argc, char ** argv)
@@ -138,39 +138,14 @@ int main(int argc, char ** argv)
 	unsigned int i, sz, setup_sectors;
 	int c;
 	u32 sys_size;
-	u8 major_root, minor_root;
 	struct stat sb;
 	FILE *file;
 	int fd;
 	void *kernel;
 	u32 crc = 0xffffffffUL;
 
-	if ((argc < 3) || (argc > 4))
+	if (argc != 3)
 		usage();
-	if (argc > 3) {
-		if (!strcmp(argv[3], "CURRENT")) {
-			if (stat("/", &sb)) {
-				perror("/");
-				die("Couldn't stat /");
-			}
-			major_root = major(sb.st_dev);
-			minor_root = minor(sb.st_dev);
-		} else if (strcmp(argv[3], "FLOPPY")) {
-			if (stat(argv[3], &sb)) {
-				perror(argv[3]);
-				die("Couldn't stat root device.");
-			}
-			major_root = major(sb.st_rdev);
-			minor_root = minor(sb.st_rdev);
-		} else {
-			major_root = 0;
-			minor_root = 0;
-		}
-	} else {
-		major_root = DEFAULT_MAJOR_ROOT;
-		minor_root = DEFAULT_MINOR_ROOT;
-	}
-	fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
 
 	/* Copy the setup code */
 	file = fopen(argv[1], "r");
@@ -193,8 +168,8 @@ int main(int argc, char ** argv)
 	memset(buf+c, 0, i-c);
 
 	/* Set the default root device */
-	buf[508] = minor_root;
-	buf[509] = major_root;
+	buf[508] = DEFAULT_MINOR_ROOT;
+	buf[509] = DEFAULT_MAJOR_ROOT;
 
 	fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
 

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

* Re: [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h
  2011-04-05 14:58 ` [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h Michal Marek
  2011-04-05 18:57   ` Arnaud Lacombe
@ 2011-04-18 13:04   ` Michal Marek
  1 sibling, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 13:04 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

On Tue, Apr 05, 2011 at 04:58:48PM +0200, Michal Marek wrote:
> Timestamps in file data are useless and there is already one in .config
> 
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/kconfig/confdata.c |    8 ++------
>  1 files changed, 2 insertions(+), 6 deletions(-)

I pushed this to kbuild-2.6.git#kconfig.

Michal

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

* Re: [PATCH 02/34] kbuild: Call gzip with -n
  2011-04-05 14:58 ` [PATCH 02/34] kbuild: Call gzip with -n Michal Marek
@ 2011-04-18 13:05   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 13:05 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

On Tue, Apr 05, 2011 at 04:58:49PM +0200, Michal Marek wrote:
> The timestamps recorded in the .gz files add no value.
> 
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/Makefile.lib          |    2 +-
>  scripts/gen_initramfs_list.sh |    4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)

Pushed to kbuild-2.6.git#kbuild.

Michal

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

* Re: [PATCH 04/34] kbuild: Use the deterministic mode of ar
  2011-04-05 14:58 ` [PATCH 04/34] kbuild: Use the deterministic mode of ar Michal Marek
@ 2011-04-18 13:05   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 13:05 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

On Tue, Apr 05, 2011 at 04:58:51PM +0200, Michal Marek wrote:
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/Makefile.build |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)


Pushed to kbuild-2.6.git#kbuild.

Michal

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

* Re: [PATCH 06/34] kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros
  2011-04-05 14:58 ` [PATCH 06/34] kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros Michal Marek
@ 2011-04-18 13:05   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 13:05 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel

On Tue, Apr 05, 2011 at 04:58:53PM +0200, Michal Marek wrote:
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/mkcompile_h |   16 ++--------------
>  1 files changed, 2 insertions(+), 14 deletions(-)

Pushed to kbuild-2.6.git#kbuild.

Michal


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

* Re: [PATCH v2] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
  2011-04-12  9:01         ` Michal Marek
@ 2011-04-18 13:05           ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 13:05 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: jwjstone, linux-kbuild, linux-kernel

On Tue, Apr 12, 2011 at 11:01:43AM +0200, Michal Marek wrote:
> On 12.4.2011 05:25, Valdis.Kletnieks@vt.edu wrote:
> > On Mon, 11 Apr 2011 17:04:49 +0200, Michal Marek said:
> >> Make it possible to override the user@host string displayed during boot
> >> and in /proc/version by the environment variables KBUILD_BUILD_USER and
> >> KBUILD_BUILD_HOST. 
> > 
> >> +
> >> +KBUILD_BUILD_TIMESTAMP
> > 
> > Changelog section doesn't match actual patch.  Other than that, I'm OK on this.
> 
> I changed it to
> 
>   Make it possible to override the user@host string displayed during boot
>   and in /proc/version by the environment variables KBUILD_BUILD_USER and
>   KBUILD_BUILD_HOST. Several distributions patch scripts/mkcompile_h to
>   achieve this, so let's provide an official way. Also, document the
>   KBUILD_BUILD_TIMESTAMP variable while at it.

Pushed to kbuild-2.6.git#kbuild.

Michal


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

* Re: [PATCH v2] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  2011-04-11 15:06     ` [PATCH v2] " Michal Marek
@ 2011-04-18 13:06       ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 13:06 UTC (permalink / raw)
  To: miltonm; +Cc: linux-kbuild, linux-kernel

On Mon, Apr 11, 2011 at 05:06:22PM +0200, Michal Marek wrote:
> gen_init_cpio gets the current time and uses it for each symlink,
> special file, and directory.  Grab the current time once and make it
> possible to override it with the KBUILD_BUILD_TIMESTAMP variable for
> reproducible builds.
> 
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  Documentation/kbuild/kbuild.txt |    3 +-
>  scripts/gen_initramfs_list.sh   |    9 ++++++-
>  usr/gen_init_cpio.c             |   53 +++++++++++++++++++++++++++++---------
>  3 files changed, 50 insertions(+), 15 deletions(-)

Pushed to kbuild-2.6.git#kbuild.

Michal


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

* Re: [PATCH 10/34] cyclades: Drop __TIME__ usage
  2011-04-05 14:58 ` [PATCH 10/34] cyclades: Drop __TIME__ usage Michal Marek
@ 2011-04-18 22:17   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:17 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Greg Kroah-Hartman

On Tue, Apr 05, 2011 at 04:58:57PM +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: Greg Kroah-Hartman <gregkh@suse.de>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/char/cyclades.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

On Tue, Apr 05, 2011 at 04:58:58PM +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: Greg Kroah-Hartman <gregkh@suse.de>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/char/nozomi.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

Applied both to kbuild-2.6.git#trivial.

Michal

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

* Re: [PATCH 13/34] media/radio-maxiradio: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 13/34] media/radio-maxiradio: " Michal Marek
@ 2011-04-18 22:18   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:18 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Mauro Carvalho Chehab, linux-media

On Tue, Apr 05, 2011 at 04:59:00PM +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: Mauro Carvalho Chehab <mchehab@redhat.com>
> Cc: linux-media@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/media/radio/radio-maxiradio.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal

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

* Re: [PATCH 14/34] media/cx231xx: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 14/34] media/cx231xx: " Michal Marek
@ 2011-04-18 22:18   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:18 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Mauro Carvalho Chehab, linux-media

On Tue, Apr 05, 2011 at 04:59:01PM +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: Mauro Carvalho Chehab <mchehab@redhat.com>
> Cc: linux-media@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/media/video/cx231xx/cx231xx-avcore.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal


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

* Re: [PATCH 21/34] aacraid: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 21/34] aacraid: " Michal Marek
@ 2011-04-18 22:20   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:20 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Adaptec OEM Raid Solutions, linux-scsi

On Tue, Apr 05, 2011 at 04:59:08PM +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: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
> Cc: linux-scsi@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/scsi/aacraid/linit.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal


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

* Re: [PATCH 22/34] scsi/in2000: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 22/34] scsi/in2000: " Michal Marek
@ 2011-04-18 22:20   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:20 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, James E.J. Bottomley, linux-scsi

On Tue, Apr 05, 2011 at 04:59:09PM +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: "James E.J. Bottomley" <James.Bottomley@suse.de>
> Cc: linux-scsi@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/scsi/in2000.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal


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

* Re: [PATCH 23/34] scsi/wd33c93: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 23/34] scsi/wd33c93: " Michal Marek
@ 2011-04-18 22:20   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:20 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, James E.J. Bottomley, linux-scsi

On Tue, Apr 05, 2011 at 04:59:10PM +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: "James E.J. Bottomley" <James.Bottomley@suse.de>
> Cc: linux-scsi@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/scsi/wd33c93.c |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal


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

* Re: [PATCH 30/34] rio: Drop __DATE__ usage
  2011-04-05 14:59 ` [PATCH 30/34] rio: Drop __DATE__ usage Michal Marek
@ 2011-04-18 22:21   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:21 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Greg Kroah-Hartman

On Tue, Apr 05, 2011 at 04:59:17PM +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. As the buildDate field is part of the userspace API, I replaced it
> with the date of the last code change.
> 
> Cc: Greg Kroah-Hartman <gregkh@suse.de>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/char/rio/rioinit.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal

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

* Re: [PATCH 31/34] edac: Drop __DATE__ usage
  2011-04-05 14:59 ` [PATCH 31/34] edac: " Michal Marek
@ 2011-04-18 22:21   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:21 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Doug Thompson, bluesmoke-devel, linux-edac

On Tue, Apr 05, 2011 at 04:59:18PM +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: Doug Thompson <dougthompson@xmission.com>
> Cc: bluesmoke-devel@lists.sourceforge.net
> Cc: linux-edac@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  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 +-
>  18 files changed, 18 insertions(+), 18 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal


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

* Re: [PATCH 32/34] pmcraid: Drop __DATE__ usage
  2011-04-05 14:59 ` [PATCH 32/34] pmcraid: " Michal Marek
@ 2011-04-18 22:21   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-04-18 22:21 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Anil Ravindranath, linux-scsi

On Tue, Apr 05, 2011 at 04:59:19PM +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: Anil Ravindranath <anil_ravindranath@pmc-sierra.com>
> Cc: linux-scsi@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  drivers/scsi/pmcraid.c |    9 ++++-----
>  drivers/scsi/pmcraid.h |    1 -
>  2 files changed, 4 insertions(+), 6 deletions(-)

Applied to kbuild-2.6.git#trivial.

Michal


^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ 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; 174+ 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] 174+ messages in thread

* [PATCH v2] powerpc: Use the deterministic mode of ar
  2011-04-05 14:58 ` Michal Marek
@ 2011-05-05 15:22   ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-05-05 15:22 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek <mmarek@suse.cz>

---

Hi,

this version fixes build with binutils <= 2.19 by first checking if ar(1)
supports the D option. It depends on a previous patch in the kbuild tree,
commit 40df759e (kbuild: Fix build with binutils <= 2.19) in linux-next,
so it will need to go through the kbuild tree. But feedback from the PPC
maintainers would be appreciated.

Thanks
Michal

---
 arch/powerpc/boot/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8917816..f0543f8 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS  $@
       cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
 
 quiet_cmd_bootar = BOOTAR  $@
-      cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
+      cmd_bootar = $(CROSS32AR) -cr$(KBUILD_ARFLAGS) $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
 
 $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
 	$(call if_changed_dep,bootcc)
-- 
1.7.4.1


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

* [PATCH v2] powerpc: Use the deterministic mode of ar
@ 2011-05-05 15:22   ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-05-05 15:22 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linuxppc-dev, Paul Mackerras, linux-kernel

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek <mmarek@suse.cz>

---

Hi,

this version fixes build with binutils <= 2.19 by first checking if ar(1)
supports the D option. It depends on a previous patch in the kbuild tree,
commit 40df759e (kbuild: Fix build with binutils <= 2.19) in linux-next,
so it will need to go through the kbuild tree. But feedback from the PPC
maintainers would be appreciated.

Thanks
Michal

---
 arch/powerpc/boot/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8917816..f0543f8 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS  $@
       cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
 
 quiet_cmd_bootar = BOOTAR  $@
-      cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
+      cmd_bootar = $(CROSS32AR) -cr$(KBUILD_ARFLAGS) $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
 
 $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
 	$(call if_changed_dep,bootcc)
-- 
1.7.4.1

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

* Re: [PATCH v2] x86: Do not set the root_dev field in bzImage
  2011-04-12 11:30         ` [PATCH v2] x86: Do not set the root_dev field in bzImage Michal Marek
@ 2011-05-11 15:22           ` Michal Marek
  2011-05-25 20:32             ` Michal Marek
  2011-05-25 20:49           ` [tip:x86/build] x86, build: " tip-bot for Michal Marek
  1 sibling, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-05-11 15:22 UTC (permalink / raw)
  To: linux-kernel, x86
  Cc: linux-kbuild, Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Paul Bolle

On 12.4.2011 13:30, Michal Marek wrote:
> This has been obsoleted by the root= commandline for several years.
> People who still depend on this will surely have a copy of the rdev
> command around, the rest of the world gets rid of another piece of
> buildhost-dependent data in the build. Thanks to Paul Bolle for the
> build.c cleanup.
>
> Cc: Thomas Gleixner<tglx@linutronix.de>
> Cc: Ingo Molnar<mingo@redhat.com>
> Cc: "H. Peter Anvin"<hpa@zytor.com>
> Cc: x86@kernel.org
> Cc: Paul Bolle<pebolle@tiscali.nl>
> Signed-off-by: Michal Marek<mmarek@suse.cz>

Hi,

Is this patch OK for the tip tree?

Michal

>
> diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
> index f7cb086..95365a8 100644
> --- a/arch/x86/boot/Makefile
> +++ b/arch/x86/boot/Makefile
> @@ -9,12 +9,6 @@
>   # Changed by many, many contributors over the years.
>   #
>
> -# ROOT_DEV specifies the default root-device when making the image.
> -# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
> -# the default of FLOPPY is used by 'build'.
> -
> -ROOT_DEV	:= CURRENT
> -
>   # If you want to preset the SVGA mode, uncomment the next line and
>   # set SVGA_MODE to whatever number you want.
>   # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
> @@ -75,8 +69,7 @@ GCOV_PROFILE := n
>   $(obj)/bzImage: asflags-y  := $(SVGA_MODE)
>
>   quiet_cmd_image = BUILD   $@
> -cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
> -	$(ROOT_DEV)>  $@
> +cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin>  $@
>
>   $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
>   	$(call if_changed,image)
> diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
> index ee3a4ea..fdc60a0 100644
> --- a/arch/x86/boot/tools/build.c
> +++ b/arch/x86/boot/tools/build.c
> @@ -130,7 +130,7 @@ static void die(const char * str, ...)
>
>   static void usage(void)
>   {
> -	die("Usage: build setup system [rootdev] [>  image]");
> +	die("Usage: build setup system [>  image]");
>   }
>
>   int main(int argc, char ** argv)
> @@ -138,39 +138,14 @@ int main(int argc, char ** argv)
>   	unsigned int i, sz, setup_sectors;
>   	int c;
>   	u32 sys_size;
> -	u8 major_root, minor_root;
>   	struct stat sb;
>   	FILE *file;
>   	int fd;
>   	void *kernel;
>   	u32 crc = 0xffffffffUL;
>
> -	if ((argc<  3) || (argc>  4))
> +	if (argc != 3)
>   		usage();
> -	if (argc>  3) {
> -		if (!strcmp(argv[3], "CURRENT")) {
> -			if (stat("/",&sb)) {
> -				perror("/");
> -				die("Couldn't stat /");
> -			}
> -			major_root = major(sb.st_dev);
> -			minor_root = minor(sb.st_dev);
> -		} else if (strcmp(argv[3], "FLOPPY")) {
> -			if (stat(argv[3],&sb)) {
> -				perror(argv[3]);
> -				die("Couldn't stat root device.");
> -			}
> -			major_root = major(sb.st_rdev);
> -			minor_root = minor(sb.st_rdev);
> -		} else {
> -			major_root = 0;
> -			minor_root = 0;
> -		}
> -	} else {
> -		major_root = DEFAULT_MAJOR_ROOT;
> -		minor_root = DEFAULT_MINOR_ROOT;
> -	}
> -	fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
>
>   	/* Copy the setup code */
>   	file = fopen(argv[1], "r");
> @@ -193,8 +168,8 @@ int main(int argc, char ** argv)
>   	memset(buf+c, 0, i-c);
>
>   	/* Set the default root device */
> -	buf[508] = minor_root;
> -	buf[509] = major_root;
> +	buf[508] = DEFAULT_MINOR_ROOT;
> +	buf[509] = DEFAULT_MAJOR_ROOT;
>
>   	fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
>
> --
> 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] 174+ 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; 174+ 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] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH v2] x86: Do not set the root_dev field in bzImage
  2011-05-11 15:22           ` Michal Marek
@ 2011-05-25 20:32             ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-05-25 20:32 UTC (permalink / raw)
  To: linux-kernel, x86
  Cc: linux-kbuild, Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Paul Bolle

Dne 11.5.2011 17:22, Michal Marek napsal(a):
> On 12.4.2011 13:30, Michal Marek wrote:
>> This has been obsoleted by the root= commandline for several years.
>> People who still depend on this will surely have a copy of the rdev
>> command around, the rest of the world gets rid of another piece of
>> buildhost-dependent data in the build. Thanks to Paul Bolle for the
>> build.c cleanup.
>>
>> Cc: Thomas Gleixner<tglx@linutronix.de>
>> Cc: Ingo Molnar<mingo@redhat.com>
>> Cc: "H. Peter Anvin"<hpa@zytor.com>
>> Cc: x86@kernel.org
>> Cc: Paul Bolle<pebolle@tiscali.nl>
>> Signed-off-by: Michal Marek<mmarek@suse.cz>
> 
> Hi,
> 
> Is this patch OK for the tip tree?

Hi,

I don't see the patch in today's linux-next. Can I get an Acked-by: to
apply it to kbuild-2.6.git or can someone apply it to the tip tree?
Thanks a lot.

Michal

^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 20/34] parport: Drop __TIME__ usage
  2011-04-05 20:00   ` Arnaud Giersch
@ 2011-05-25 20:44     ` Michal Marek
  0 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-05-25 20:44 UTC (permalink / raw)
  To: Arnaud Giersch; +Cc: linux-kbuild, linux-kernel

Dne 5.4.2011 22:00, Arnaud Giersch napsal(a):
> Mardi 05 avril 2011, vers 16:59:07 (+0200), Michal Marek a écrit :
> 
>> 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: Arnaud Giersch <arnaud.giersch@free.fr>
>> Signed-off-by: Michal Marek <mmarek@suse.cz>
>> ---
>>  drivers/parport/parport_ip32.c |    1 -
>>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> I do not use this module anymore, but anyway...
> 
> Acked-by: Arnaud Giersch <arnaud.giersch@free.fr>

Applied to kbuild-2.6.git#trivial

Michal

^ permalink raw reply	[flat|nested] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 26/34] dlm: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 26/34] dlm: " Michal Marek
@ 2011-05-25 20:47   ` Michal Marek
  2011-05-25 20:47       ` [Cluster-devel] " David Teigland
  0 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-05-25 20:47 UTC (permalink / raw)
  To: linux-kbuild
  Cc: linux-kernel, Christine Caulfield, David Teigland, cluster-devel

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: Christine Caulfield <ccaulfie@redhat.com>
> Cc: David Teigland <teigland@redhat.com>
> Cc: cluster-devel@redhat.com
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  fs/dlm/main.c |    2 +-
>  1 files changed, 1 insertions(+), 1 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/fs/dlm/main.c b/fs/dlm/main.c
> index b80e0aa..5a59efa 100644
> --- a/fs/dlm/main.c
> +++ b/fs/dlm/main.c
> @@ -50,7 +50,7 @@ static int __init init_dlm(void)
>  	if (error)
>  		goto out_netlink;
>  
> -	printk("DLM (built %s %s) installed\n", __DATE__, __TIME__);
> +	printk("DLM installed\n");
>  
>  	return 0;
>  


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

* Re: [PATCH 26/34] dlm: Drop __TIME__ usage
  2011-05-25 20:47   ` Michal Marek
@ 2011-05-25 20:47       ` David Teigland
  0 siblings, 0 replies; 174+ messages in thread
From: David Teigland @ 2011-05-25 20:47 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-kbuild, linux-kernel, Christine Caulfield, cluster-devel

On Wed, May 25, 2011 at 10:47:16PM +0200, Michal Marek wrote:
> 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: Christine Caulfield <ccaulfie@redhat.com>
> > Cc: David Teigland <teigland@redhat.com>
> > Cc: cluster-devel@redhat.com
> > Signed-off-by: Michal Marek <mmarek@suse.cz>
> > ---
> >  fs/dlm/main.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 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?

No, please do.
Thanks,
Dave


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

* [Cluster-devel] [PATCH 26/34] dlm: Drop __TIME__ usage
@ 2011-05-25 20:47       ` David Teigland
  0 siblings, 0 replies; 174+ messages in thread
From: David Teigland @ 2011-05-25 20:47 UTC (permalink / raw)
  To: cluster-devel.redhat.com

On Wed, May 25, 2011 at 10:47:16PM +0200, Michal Marek wrote:
> 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: Christine Caulfield <ccaulfie@redhat.com>
> > Cc: David Teigland <teigland@redhat.com>
> > Cc: cluster-devel at redhat.com
> > Signed-off-by: Michal Marek <mmarek@suse.cz>
> > ---
> >  fs/dlm/main.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 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?

No, please do.
Thanks,
Dave



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

* Re: [PATCH 27/34] gfs2: Drop __TIME__ usage
  2011-04-05 14:59 ` [PATCH 27/34] gfs2: " Michal Marek
@ 2011-05-25 20:48   ` Michal Marek
  2011-05-26  8:43       ` [Cluster-devel] " Steven Whitehouse
  0 siblings, 1 reply; 174+ messages in thread
From: Michal Marek @ 2011-05-25 20:48 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, Steven Whitehouse, cluster-devel

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: Steven Whitehouse <swhiteho@redhat.com>
> Cc: cluster-devel@redhat.com
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  fs/gfs2/main.c |    2 +-
>  1 files changed, 1 insertions(+), 1 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/fs/gfs2/main.c b/fs/gfs2/main.c
> index 72c31a3..07d057b 100644
> --- a/fs/gfs2/main.c
> +++ b/fs/gfs2/main.c
> @@ -143,7 +143,7 @@ static int __init init_gfs2_fs(void)
>  
>  	gfs2_register_debugfs();
>  
> -	printk("GFS2 (built %s %s) installed\n", __DATE__, __TIME__);
> +	printk("GFS2 installed\n");
>  
>  	return 0;
>  


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

* [tip:x86/build] x86, build: Do not set the root_dev field in bzImage
  2011-04-12 11:30         ` [PATCH v2] x86: Do not set the root_dev field in bzImage Michal Marek
  2011-05-11 15:22           ` Michal Marek
@ 2011-05-25 20:49           ` tip-bot for Michal Marek
  1 sibling, 0 replies; 174+ messages in thread
From: tip-bot for Michal Marek @ 2011-05-25 20:49 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, pebolle, hpa, mingo, mmarek, tglx, hpa

Commit-ID:  079f85e624189292d1c818b47764916bf8cf84a8
Gitweb:     http://git.kernel.org/tip/079f85e624189292d1c818b47764916bf8cf84a8
Author:     Michal Marek <mmarek@suse.cz>
AuthorDate: Tue, 12 Apr 2011 13:30:24 +0200
Committer:  H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Wed, 25 May 2011 12:46:05 -0700

x86, build: Do not set the root_dev field in bzImage

This has been obsoleted by the root= commandline and the rdev utility
for many, many years.  People who still depend on this will surely
have a copy of the rdev utility around, the rest of the world gets rid
of another piece of buildhost-dependent data in the build. Thanks to
Paul Bolle for the build.c cleanup.

Cc: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Link: http://lkml.kernel.org/r/1302607824-24699-1-git-send-email-mmarek@suse.cz
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
 arch/x86/boot/Makefile      |    9 +--------
 arch/x86/boot/tools/build.c |   33 ++++-----------------------------
 2 files changed, 5 insertions(+), 37 deletions(-)

diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index f7cb086..95365a8 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -9,12 +9,6 @@
 # Changed by many, many contributors over the years.
 #
 
-# ROOT_DEV specifies the default root-device when making the image.
-# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
-# the default of FLOPPY is used by 'build'.
-
-ROOT_DEV	:= CURRENT
-
 # If you want to preset the SVGA mode, uncomment the next line and
 # set SVGA_MODE to whatever number you want.
 # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
@@ -75,8 +69,7 @@ GCOV_PROFILE := n
 $(obj)/bzImage: asflags-y  := $(SVGA_MODE)
 
 quiet_cmd_image = BUILD   $@
-cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
-	$(ROOT_DEV) > $@
+cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin > $@
 
 $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
 	$(call if_changed,image)
diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
index ee3a4ea..fdc60a0 100644
--- a/arch/x86/boot/tools/build.c
+++ b/arch/x86/boot/tools/build.c
@@ -130,7 +130,7 @@ static void die(const char * str, ...)
 
 static void usage(void)
 {
-	die("Usage: build setup system [rootdev] [> image]");
+	die("Usage: build setup system [> image]");
 }
 
 int main(int argc, char ** argv)
@@ -138,39 +138,14 @@ int main(int argc, char ** argv)
 	unsigned int i, sz, setup_sectors;
 	int c;
 	u32 sys_size;
-	u8 major_root, minor_root;
 	struct stat sb;
 	FILE *file;
 	int fd;
 	void *kernel;
 	u32 crc = 0xffffffffUL;
 
-	if ((argc < 3) || (argc > 4))
+	if (argc != 3)
 		usage();
-	if (argc > 3) {
-		if (!strcmp(argv[3], "CURRENT")) {
-			if (stat("/", &sb)) {
-				perror("/");
-				die("Couldn't stat /");
-			}
-			major_root = major(sb.st_dev);
-			minor_root = minor(sb.st_dev);
-		} else if (strcmp(argv[3], "FLOPPY")) {
-			if (stat(argv[3], &sb)) {
-				perror(argv[3]);
-				die("Couldn't stat root device.");
-			}
-			major_root = major(sb.st_rdev);
-			minor_root = minor(sb.st_rdev);
-		} else {
-			major_root = 0;
-			minor_root = 0;
-		}
-	} else {
-		major_root = DEFAULT_MAJOR_ROOT;
-		minor_root = DEFAULT_MINOR_ROOT;
-	}
-	fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
 
 	/* Copy the setup code */
 	file = fopen(argv[1], "r");
@@ -193,8 +168,8 @@ int main(int argc, char ** argv)
 	memset(buf+c, 0, i-c);
 
 	/* Set the default root device */
-	buf[508] = minor_root;
-	buf[509] = major_root;
+	buf[508] = DEFAULT_MINOR_ROOT;
+	buf[509] = DEFAULT_MAJOR_ROOT;
 
 	fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
 

^ permalink raw reply related	[flat|nested] 174+ 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; 174+ 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] 174+ 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; 174+ 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] 174+ 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; 174+ 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] 174+ 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; 174+ 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] 174+ messages in thread

* Re: [PATCH 27/34] gfs2: Drop __TIME__ usage
  2011-05-25 20:48   ` Michal Marek
@ 2011-05-26  8:43       ` Steven Whitehouse
  0 siblings, 0 replies; 174+ messages in thread
From: Steven Whitehouse @ 2011-05-26  8:43 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel, cluster-devel

Hi,

On Wed, 2011-05-25 at 22:48 +0200, Michal Marek wrote:
> 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: Steven Whitehouse <swhiteho@redhat.com>
> > Cc: cluster-devel@redhat.com
> > Signed-off-by: Michal Marek <mmarek@suse.cz>
> > ---
> >  fs/gfs2/main.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 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
> 
No, I think that should be ok. It was added as a method to spot when
someone had compiled their own module against a distro kernel, but tbh
this isn't a problem in practice, so I don't think it will be a problem,

Steve.



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

* [Cluster-devel] [PATCH 27/34] gfs2: Drop __TIME__ usage
@ 2011-05-26  8:43       ` Steven Whitehouse
  0 siblings, 0 replies; 174+ messages in thread
From: Steven Whitehouse @ 2011-05-26  8:43 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

On Wed, 2011-05-25 at 22:48 +0200, Michal Marek wrote:
> 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: Steven Whitehouse <swhiteho@redhat.com>
> > Cc: cluster-devel at redhat.com
> > Signed-off-by: Michal Marek <mmarek@suse.cz>
> > ---
> >  fs/gfs2/main.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 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
> 
No, I think that should be ok. It was added as a method to spot when
someone had compiled their own module against a distro kernel, but tbh
this isn't a problem in practice, so I don't think it will be a problem,

Steve.




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

* Re: [PATCH 27/34] gfs2: Drop __TIME__ usage
  2011-05-26  8:43       ` [Cluster-devel] " Steven Whitehouse
  (?)
@ 2011-05-26  9:08       ` Michal Marek
  -1 siblings, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-05-26  9:08 UTC (permalink / raw)
  To: Steven Whitehouse; +Cc: linux-kbuild, linux-kernel, cluster-devel

On 26.5.2011 10:43, Steven Whitehouse wrote:
>> I don't see this patch in today's linux-next. Any objection against me
>> applying it to the kbuild-2.6.git repository?
>>
> No, I think that should be ok. It was added as a method to spot when
> someone had compiled their own module against a distro kernel, but tbh
> this isn't a problem in practice, so I don't think it will be a problem,

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

Michal

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

* Re: [PATCH 34/34] checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__
  2011-04-05 14:59 ` [PATCH 34/34] checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__ Michal Marek
@ 2011-05-26 11:39   ` Michal Marek
  2011-05-26 12:42   ` Andy Whitcroft
  1 sibling, 0 replies; 174+ messages in thread
From: Michal Marek @ 2011-05-26 11:39 UTC (permalink / raw)
  To: Andy Whitcroft; +Cc: linux-kbuild, linux-kernel

On 5.4.2011 16:59, Michal Marek wrote:
> The __TIME__ and __DATE__ macros are evil. Every C textbook mentions
> them, but forgets to add the tiny detail that they make sure that your
> code will never result in the same binary. __TIMESTAMP__ is a bit more
> sane, but again produces noise as soon as you switch branches back and
> forth, or apply a patch and revert it.
> 
> Cc: Andy Whitcroft <apw@canonical.com>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/checkpatch.pl |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)

Hi Andy,

any comments about this patch?

Thanks,
Michal


> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4c0383d..dbcdf04 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2804,6 +2804,11 @@ sub process {
>  			WARN("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
>  		}
>  
> +# check for pointless usage of __TIME__ and friends
> +		if ($line =~ /\b__(TIME|DATE|TIMESTAMP)__\b/) {
> +			WARN("Usage of __$1__ should be avoided to keep the build deterministic\n" . $herecurr);
> +		}
> +
>  # check for semaphores initialized locked
>  		if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) {
>  			WARN("consider using a completion\n" . $herecurr);


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

* Re: [PATCH 34/34] checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__
  2011-04-05 14:59 ` [PATCH 34/34] checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__ Michal Marek
  2011-05-26 11:39   ` Michal Marek
@ 2011-05-26 12:42   ` Andy Whitcroft
  1 sibling, 0 replies; 174+ messages in thread
From: Andy Whitcroft @ 2011-05-26 12:42 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

On Tue, Apr 05, 2011 at 04:59:21PM +0200, Michal Marek wrote:
> The __TIME__ and __DATE__ macros are evil. Every C textbook mentions
> them, but forgets to add the tiny detail that they make sure that your
> code will never result in the same binary. __TIMESTAMP__ is a bit more
> sane, but again produces noise as soon as you switch branches back and
> forth, or apply a patch and revert it.
> 
> Cc: Andy Whitcroft <apw@canonical.com>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
>  scripts/checkpatch.pl |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4c0383d..dbcdf04 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2804,6 +2804,11 @@ sub process {
>  			WARN("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
>  		}
>  
> +# check for pointless usage of __TIME__ and friends
> +		if ($line =~ /\b__(TIME|DATE|TIMESTAMP)__\b/) {
> +			WARN("Usage of __$1__ should be avoided to keep the build deterministic\n" . $herecurr);
> +		}
> +
>  # check for semaphores initialized locked
>  		if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) {
>  			WARN("consider using a completion\n" . $herecurr);
> -- 
> 1.7.4.1

Looks reasonable to me.

-apw

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

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

Thread overview: 174+ 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 ` Michal Marek
2011-04-05 14:58 ` Michal Marek
2011-04-05 14:58 ` Michal Marek
2011-04-05 14:58 ` [PATCH 01/34] kconfig: Do not record timestamp in auto.conf and autoconf.h Michal Marek
2011-04-05 18:57   ` Arnaud Lacombe
2011-04-06  7:37     ` Michal Marek
2011-04-06 16:25       ` Arnaud Lacombe
2011-04-06 20:39         ` Michal Marek
2011-04-18 13:04   ` Michal Marek
2011-04-05 14:58 ` [PATCH 02/34] kbuild: Call gzip with -n Michal Marek
2011-04-18 13:05   ` Michal Marek
2011-04-05 14:58 ` [PATCH 03/34] powerpc: " Michal Marek
2011-04-05 14:58   ` Michal Marek
2011-04-05 14:58 ` [PATCH 04/34] kbuild: Use the deterministic mode of ar Michal Marek
2011-04-18 13:05   ` Michal Marek
2011-04-05 14:58 ` [PATCH 05/34] powerpc: " Michal Marek
2011-04-05 14:58   ` Michal Marek
2011-04-05 14:58 ` [PATCH 06/34] kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros Michal Marek
2011-04-18 13:05   ` Michal Marek
2011-04-05 14:58 ` [PATCH 07/34] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros Michal Marek
2011-04-05 15:52   ` Jack Stone
2011-04-05 18:09     ` Michal Marek
2011-04-11 15:04     ` [PATCH v2] " Michal Marek
2011-04-12  3:25       ` Valdis.Kletnieks
2011-04-12  9:01         ` Michal Marek
2011-04-18 13:05           ` Michal Marek
2011-04-05 14:58 ` [PATCH 08/34] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries Michal Marek
2011-04-05 17:31   ` [08/34] " Milton Miller
2011-04-05 18:12     ` Michal Marek
2011-04-11 15:06     ` [PATCH v2] " Michal Marek
2011-04-18 13:06       ` Michal Marek
2011-04-05 14:58 ` [PATCH 09/34] x86: Allow to override the ROOT_DEV variable Michal Marek
2011-04-05 15:30   ` H. Peter Anvin
2011-04-06  7:47     ` Michal Marek
2011-04-11 15:08       ` Michal Marek
2011-04-12  3:25         ` Valdis.Kletnieks
2011-04-12  7:11           ` Paul Bolle
2011-04-12  3:39         ` H. Peter Anvin
2011-04-12  5:01         ` Paul Bolle
2011-04-12  9:57           ` Michal Marek
2011-04-12 10:40             ` Paul Bolle
2011-04-12 11:30         ` [PATCH v2] x86: Do not set the root_dev field in bzImage Michal Marek
2011-05-11 15:22           ` Michal Marek
2011-05-25 20:32             ` Michal Marek
2011-05-25 20:49           ` [tip:x86/build] x86, build: " tip-bot for Michal Marek
2011-04-05 14:58 ` [PATCH 10/34] cyclades: Drop __TIME__ usage Michal Marek
2011-04-18 22:17   ` Michal Marek
2011-04-05 14:58 ` [PATCH 11/34] nozomi: " Michal Marek
2011-04-05 14:58 ` [PATCH 12/34] isdn/diva: " 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 13/34] media/radio-maxiradio: " Michal Marek
2011-04-18 22:18   ` Michal Marek
2011-04-05 14:59 ` [PATCH 14/34] media/cx231xx: " Michal Marek
2011-04-18 22:18   ` 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 16/34] nand/denali: " Michal Marek
2011-04-05 14:59   ` Michal Marek
2011-04-05 15:02   ` Artem Bityutskiy
2011-04-05 15:02     ` Artem Bityutskiy
2011-04-05 15:10     ` Michal Marek
2011-04-05 15:10       ` Michal Marek
2011-04-05 15:15   ` Artem Bityutskiy
2011-04-05 15:15     ` Artem Bityutskiy
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 18:37     ` Ivo Van Doorn
2011-04-05 14:59 ` [PATCH 20/34] parport: " Michal Marek
2011-04-05 20:00   ` Arnaud Giersch
2011-05-25 20:44     ` Michal Marek
2011-04-05 14:59 ` [PATCH 21/34] aacraid: " Michal Marek
2011-04-18 22:20   ` Michal Marek
2011-04-05 14:59 ` [PATCH 22/34] scsi/in2000: " Michal Marek
2011-04-18 22:20   ` Michal Marek
2011-04-05 14:59 ` [PATCH 23/34] scsi/wd33c93: " Michal Marek
2011-04-18 22:20   ` Michal Marek
2011-04-05 14:59 ` [PATCH 24/34] usb/u132-hcd: " Michal Marek
2011-04-05 14:59 ` [PATCH 25/34] usb/ftdi-elan: " Michal Marek
2011-04-05 17:50   ` Matthew Dharm
2011-04-05 18:13     ` Greg KH
2011-04-05 14:59 ` [PATCH 26/34] dlm: " Michal Marek
2011-05-25 20:47   ` Michal Marek
2011-05-25 20:47     ` David Teigland
2011-05-25 20:47       ` [Cluster-devel] " David Teigland
2011-04-05 14:59 ` [PATCH 27/34] gfs2: " Michal Marek
2011-05-25 20:48   ` Michal Marek
2011-05-26  8:43     ` Steven Whitehouse
2011-05-26  8:43       ` [Cluster-devel] " Steven Whitehouse
2011-05-26  9:08       ` Michal Marek
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 22:25     ` Paul Gortmaker
2011-04-05 14:59 ` [PATCH 30/34] rio: Drop __DATE__ usage Michal Marek
2011-04-18 22:21   ` Michal Marek
2011-04-05 14:59 ` [PATCH 31/34] edac: " Michal Marek
2011-04-18 22:21   ` Michal Marek
2011-04-05 14:59 ` [PATCH 32/34] pmcraid: " Michal Marek
2011-04-18 22:21   ` Michal Marek
2011-04-05 14:59 ` [PATCH 33/34] usb/lh7a40x_udc: " Michal Marek
2011-04-05 14:59   ` Michal Marek
2011-04-05 16:25   ` Russell King - ARM Linux
2011-04-05 16:25     ` Russell King - ARM Linux
2011-04-06  8:23     ` Michal Marek
2011-04-06  8:23       ` Michal Marek
2011-04-05 14:59 ` [PATCH 34/34] checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__ Michal Marek
2011-05-26 11:39   ` Michal Marek
2011-05-26 12:42   ` Andy Whitcroft
2011-04-05 15:49 ` [PATCH 00/34] Make kernel build deterministic Greg KH
2011-04-05 15:49   ` Greg KH
2011-04-05 15:49   ` Greg KH
2011-04-05 15:49   ` Greg KH
2011-04-05 18:16   ` James Bottomley
2011-04-05 18:16     ` James Bottomley
2011-04-05 18:16     ` James Bottomley
2011-04-05 18:16     ` James Bottomley
2011-04-05 18:29     ` Mauro Carvalho Chehab
2011-04-05 18:29       ` Mauro Carvalho Chehab
2011-04-05 18:29       ` Mauro Carvalho Chehab
2011-04-05 18:29       ` Mauro Carvalho Chehab
2011-04-05 18:29       ` Mauro Carvalho Chehab
2011-04-05 18:44       ` Greg KH
2011-04-05 18:44         ` Greg KH
2011-04-05 18:44         ` Greg KH
2011-04-05 18:44         ` Greg KH
2011-04-05 18:44         ` Greg KH
2011-04-05 19:24   ` Artem Bityutskiy
2011-04-05 19:24     ` Artem Bityutskiy
2011-04-05 19:24     ` Artem Bityutskiy
2011-04-05 19:24     ` Artem Bityutskiy
2011-04-06  8:57     ` Ingo Molnar
2011-04-06  8:57       ` Ingo Molnar
2011-04-06  8:57       ` Ingo Molnar
2011-04-06  8:57       ` Ingo Molnar
2011-04-06  9:04       ` Artem Bityutskiy
2011-04-06  9:07     ` Michal Marek
2011-04-06  9:07       ` Michal Marek
2011-04-06  9:07       ` Michal Marek
2011-04-06  9:07       ` Michal Marek
2011-04-06  9:07       ` Michal Marek
2011-04-06  9:25       ` Artem Bityutskiy
2011-04-06  9:25         ` Artem Bityutskiy
2011-04-06  9:25         ` Artem Bityutskiy
2011-04-06  9:25         ` Artem Bityutskiy
2011-04-06  9:25         ` Artem Bityutskiy
2011-04-06  9:23   ` Michal Marek
2011-04-06  9:23     ` Michal Marek
2011-04-06  9:23     ` Michal Marek
2011-04-06  9:23     ` Michal Marek
2011-04-06  9:01 ` Ingo Molnar
2011-04-06  9:01   ` Ingo Molnar
2011-04-06  9:01   ` Ingo Molnar
2011-04-06  9:01   ` Ingo Molnar
2011-05-05 15:22 ` [PATCH v2] powerpc: Use the deterministic mode of ar Michal Marek
2011-05-05 15:22   ` Michal Marek

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.