Hello community, here is the log from the commit of package kexec-tools for openSUSE:Factory checked in at 2015-07-14 17:20:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kexec-tools (Old) and /work/SRC/openSUSE:Factory/.kexec-tools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kexec-tools" Changes: -------- --- /work/SRC/openSUSE:Factory/kexec-tools/kexec-tools.changes 2015-04-03 14:33:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kexec-tools.new/kexec-tools.changes 2015-07-14 17:20:33.000000000 +0200 @@ -1,0 +2,11 @@ +Fri Jun 26 07:33:16 UTC 2015 - ptesa...@suse.cz + +- Upgrade to kexec-2.0.10: This is a feature release coinciding + with the release of the v4.1 Linux Kernel. +- Refreshed patches: + * kexec-tools-xen-static.patch + * kexec-tools-xen-balloon-up.patch +- Dropped patches (now upstream): + * kexec-tools-callback-function-proto.patch + +------------------------------------------------------------------- Old: ---- kexec-tools-2.0.9.tar.xz kexec-tools-callback-function-proto.patch New: ---- kexec-tools-2.0.10.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kexec-tools.spec ++++++ --- /var/tmp/diff_new_pack.SdYEqZ/_old 2015-07-14 17:20:34.000000000 +0200 +++ /var/tmp/diff_new_pack.SdYEqZ/_new 2015-07-14 17:20:34.000000000 +0200 @@ -26,7 +26,7 @@ Summary: Tools for fast kernel loading License: GPL-2.0+ Group: System/Kernel -Version: 2.0.9 +Version: 2.0.10 Release: 0 Source: ftp://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.xz Source1: kexec-bootloader @@ -38,7 +38,6 @@ Patch3: %{name}-disable-test.patch Patch4: %{name}-enable-aarch64.patch Patch5: %{name}-enable-aarch64-fixup.patch -Patch6: %{name}-callback-function-proto.patch Url: ftp://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -65,7 +64,6 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %build # disable as-needed ++++++ kexec-tools-2.0.9.tar.xz -> kexec-tools-2.0.10.tar.xz ++++++ ++++ 2192 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/configure.ac new/kexec-tools-2.0.10/configure.ac --- old/kexec-tools-2.0.9/configure.ac 2015-02-09 06:31:19.000000000 +0100 +++ new/kexec-tools-2.0.10/configure.ac 2015-06-25 12:09:23.000000000 +0200 @@ -4,10 +4,11 @@ dnl dnl ---Required -AC_INIT(kexec-tools, 2.0.9) +AC_INIT(kexec-tools, 2.0.10) AC_CONFIG_AUX_DIR(./config) AC_CONFIG_HEADERS([include/config.h]) AC_LANG(C) +AC_PROG_CC AC_DEFINE_UNQUOTED(PACKAGE_DATE, "`date '+%d %B %Y'`", [Define to the release date of this package]) @@ -97,9 +98,6 @@ dnl ---Programs dnl To specify a different compiler, just 'export CC=/path/to/compiler' - -AC_PROG_CC - if test "${build}" != "${host}" ; then AC_CHECK_PROGS(BUILD_CC, [${build_alias}-gcc ${build}-gcc gcc]) else @@ -152,22 +150,22 @@ dnl See if I have a usable copy of zlib available if test "$with_zlib" = yes ; then AC_CHECK_HEADER(zlib.h, - AC_CHECK_LIB(z, inflateInit_, , - AC_MSG_NOTICE([zlib support disabled]))) + [AC_CHECK_LIB(z, inflateInit_, , + AC_MSG_NOTICE([zlib support disabled]))]) fi dnl See if I have a usable copy of lzma available if test "$with_lzma" = yes ; then AC_CHECK_HEADER(lzma.h, - AC_CHECK_LIB(lzma, lzma_code, , - AC_MSG_NOTICE([lzma support disabled]))) + [AC_CHECK_LIB(lzma, lzma_code, , + AC_MSG_NOTICE([lzma support disabled]))]) fi dnl find Xen control stack libraries if test "$with_xen" = yes ; then AC_CHECK_HEADER(xenctrl.h, - AC_CHECK_LIB(xenctrl, xc_kexec_load, , - AC_MSG_NOTICE([Xen support disabled]))) + [AC_CHECK_LIB(xenctrl, xc_kexec_load, , + AC_MSG_NOTICE([Xen support disabled]))]) fi dnl ---Sanity checks diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/include/config.h new/kexec-tools-2.0.10/include/config.h --- old/kexec-tools-2.0.9/include/config.h 2015-02-09 06:32:26.000000000 +0100 +++ new/kexec-tools-2.0.10/include/config.h 2015-06-25 12:09:59.000000000 +0200 @@ -44,13 +44,13 @@ #define PACKAGE_BUGREPORT "" /* Define to the release date of this package */ -#define PACKAGE_DATE "09 February 2015" +#define PACKAGE_DATE "25 June 2015" /* Define to the full name of this package. */ #define PACKAGE_NAME "kexec-tools" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "kexec-tools 2.0.9" +#define PACKAGE_STRING "kexec-tools 2.0.10" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "kexec-tools" @@ -59,7 +59,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.0.9" +#define PACKAGE_VERSION "2.0.10" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/i386/crashdump-x86.c new/kexec-tools-2.0.10/kexec/arch/i386/crashdump-x86.c --- old/kexec-tools-2.0.9/kexec/arch/i386/crashdump-x86.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/i386/crashdump-x86.c 2015-02-25 05:41:32.000000000 +0100 @@ -1041,8 +1041,8 @@ static int crashkernel_mem_callback(void *UNUSED(data), int nr, char *UNUSED(str), - unsigned long base, - unsigned long length) + unsigned long long base, + unsigned long long length) { if (nr >= CRASH_RESERVED_MEM_NR) return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/i386/kexec-bzImage.c new/kexec-tools-2.0.10/kexec/arch/i386/kexec-bzImage.c --- old/kexec-tools-2.0.9/kexec/arch/i386/kexec-bzImage.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/i386/kexec-bzImage.c 2015-02-25 05:39:20.000000000 +0100 @@ -108,7 +108,6 @@ struct x86_linux_header setup_header; struct x86_linux_param_header *real_mode; int setup_sects; - char *kernel_version; size_t size; int kern16_size; unsigned long setup_base, setup_size; @@ -134,7 +133,6 @@ } kern16_size = (setup_sects +1) *512; - kernel_version = ((char *)&setup_header) + 512 + setup_header.kver_addr; if (kernel_len < kern16_size) { fprintf(stderr, "BzImage truncated?\n"); return -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/i386/kexec-elf-x86.c new/kexec-tools-2.0.10/kexec/arch/i386/kexec-elf-x86.c --- old/kexec-tools-2.0.9/kexec/arch/i386/kexec-elf-x86.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/i386/kexec-elf-x86.c 2015-02-25 05:40:36.000000000 +0100 @@ -94,7 +94,6 @@ char *error_msg = NULL; int result; int command_line_len; - int modified_cmdline_len; const char *ramdisk; unsigned long entry, max_addr; int arg_style; @@ -123,7 +122,6 @@ * Parse the command line arguments */ arg_style = ARG_STYLE_ELF; - modified_cmdline_len = 0; ramdisk = 0; result = 0; while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) { @@ -180,7 +178,6 @@ COMMAND_LINE_SIZE); modified_cmdline[COMMAND_LINE_SIZE - 1] = '\0'; } - modified_cmdline_len = strlen(modified_cmdline); } /* Load the ELF executable */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/i386/kexec-multiboot-x86.c new/kexec-tools-2.0.10/kexec/arch/i386/kexec-multiboot-x86.c --- old/kexec-tools-2.0.9/kexec/arch/i386/kexec-multiboot-x86.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/i386/kexec-multiboot-x86.c 2015-02-12 00:05:08.000000000 +0100 @@ -169,8 +169,7 @@ static const char short_options[] = KEXEC_ARCH_OPT_STR ""; /* Probe for the MB header if it's not already found */ - if (mbh == NULL && multiboot_x86_probe(buf, len) != 1) - { + if (mbh == NULL && multiboot_x86_probe(buf, len) != 1) { fprintf(stderr, "Cannot find a loadable multiboot header.\n"); return -1; } @@ -180,8 +179,7 @@ modules = 0; mod_command_line_space = 0; result = 0; - while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) - { + while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) { switch(opt) { default: /* Ignore core options */ @@ -192,7 +190,7 @@ append = optarg; break; case OPT_REUSE_CMDLINE: - tmp_cmdline = get_command_line(); + command_line = get_command_line(); break; case OPT_MOD: modules++; @@ -201,11 +199,17 @@ } } imagename = argv[optind]; - command_line = concat_cmdline(tmp_cmdline, append); + + /* Final command line = imagename + <OPT_REUSE_CMDLINE> + <OPT_CL> */ + tmp_cmdline = concat_cmdline(command_line, append); + if (command_line) { + free(command_line); + } + command_line = concat_cmdline(imagename, tmp_cmdline); if (tmp_cmdline) { free(tmp_cmdline); } - command_line_len = strlen(command_line) + strlen(imagename) + 2; + command_line_len = strlen(command_line) + 1; /* Load the ELF executable */ elf_exec_build_load(info, &ehdr, buf, len, 0); @@ -232,8 +236,7 @@ mbi_buf = xmalloc(mbi_bytes); mbi = mbi_buf; memset(mbi, 0, sizeof(*mbi)); - sprintf(((char *)mbi) + sizeof(*mbi), "%s %s", - imagename, command_line); + sprintf(((char *)mbi) + sizeof(*mbi), "%s", command_line); sprintf(((char *)mbi) + sizeof(*mbi) + command_line_len, "%s", BOOTLOADER " " BOOTLOADER_VERSION); mbi->flags = MB_INFO_CMDLINE | MB_INFO_BOOT_LOADER_NAME; @@ -274,9 +277,9 @@ if ((range[i].start <= 0x100000) && (range[i].end > mem_upper + 0x100000)) mem_upper = range[i].end - 0x100000; + } else { + mmap[i].Type = 0xbad; /* Not RAM */ } - else - mmap[i].Type = 0xbad; /* Not RAM */ } if (mbh->flags & MULTIBOOT_MEMORY_INFO) { @@ -324,8 +327,7 @@ /* Go back and parse the module command lines */ optind = opterr = 1; while((opt = getopt_long(argc, argv, - short_options, options, 0)) != -1) - { + short_options, options, 0)) != -1) { if (opt != OPT_MOD) continue; /* Split module filename from command line */ @@ -358,14 +360,13 @@ mod_clp += strlen(mod_clp) + 1; modp++; } - } /* Find a place for the MBI to live */ if (sort_segments(info) < 0) { - result = -1; + result = -1; goto out; - } + } mbi_base = add_buffer(info, mbi_buf, mbi_bytes, mbi_bytes, 4, 0, 0xFFFFFFFFUL, 1); @@ -394,4 +395,3 @@ /* * EOF (kexec-multiboot-x86.c) */ - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/i386/kexec-x86-common.c new/kexec-tools-2.0.10/kexec/arch/i386/kexec-x86-common.c --- old/kexec-tools-2.0.9/kexec/arch/i386/kexec-x86-common.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/i386/kexec-x86-common.c 2015-03-20 01:44:41.000000000 +0100 @@ -293,10 +293,10 @@ * @return 1 if parameter is present, 0 if not or if an error occurs. */ int efi_map_added( void ) { - char buf[512], *res; + char buf[512]; FILE *fp = fopen( "/proc/cmdline", "r" ); if( fp ) { - res = fgets( buf, 512, fp ); + fgets( buf, 512, fp ); fclose( fp ); return strstr( buf, "add_efi_memmap" ) != NULL; } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/mips/crashdump-mips.c new/kexec-tools-2.0.10/kexec/arch/mips/crashdump-mips.c --- old/kexec-tools-2.0.9/kexec/arch/mips/crashdump-mips.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/mips/crashdump-mips.c 2015-02-12 00:11:44.000000000 +0100 @@ -22,6 +22,7 @@ #include <stdlib.h> #include <errno.h> #include <limits.h> +#include <inttypes.h> #include <elf.h> #include <sys/types.h> #include <sys/stat.h> @@ -52,7 +53,7 @@ if (parse_iomem_single("Kernel code\n", &start, NULL) == 0) { elf_info->kern_paddr_start = start; - dbgprintf("kernel load physical addr start = 0x%lx\n", start); + dbgprintf("kernel load physical addr start = 0x%" PRIu64 "\n", start); return 0; } @@ -147,7 +148,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges) { const char iomem[] = "/proc/iomem"; - int i, memory_ranges = 0; + int memory_ranges = 0; char line[MAX_LINE]; FILE *fp; unsigned long long start, end; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/mips/kexec-elf-mips.c new/kexec-tools-2.0.10/kexec/arch/mips/kexec-elf-mips.c --- old/kexec-tools-2.0.9/kexec/arch/mips/kexec-elf-mips.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/mips/kexec-elf-mips.c 2015-02-12 00:10:50.000000000 +0100 @@ -158,7 +158,7 @@ if (info->kexec_flags & KEXEC_ON_CRASH) /* In case of crashdump segment[0] is kernel. * Put cmdline just after it. */ - cmdline_addr = info->segment[0].mem + + cmdline_addr = (unsigned long)info->segment[0].mem + info->segment[0].memsz; else cmdline_addr = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/ppc64/kexec-elf-ppc64.c new/kexec-tools-2.0.10/kexec/arch/ppc64/kexec-elf-ppc64.c --- old/kexec-tools-2.0.9/kexec/arch/ppc64/kexec-elf-ppc64.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/ppc64/kexec-elf-ppc64.c 2015-02-09 06:53:22.000000000 +0100 @@ -377,10 +377,6 @@ dbgprintf("opal_base is %llx\n", (unsigned long long) my_opal_base); dbgprintf("opal_entry is %llx\n", (unsigned long long) my_opal_entry); - for (i = 0; i < info->nr_segments; i++) - fprintf(stderr, "segment[%d].mem:%p memsz:%zu\n", i, - info->segment[i].mem, info->segment[i].memsz); - return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/sh/crashdump-sh.c new/kexec-tools-2.0.10/kexec/arch/sh/crashdump-sh.c --- old/kexec-tools-2.0.9/kexec/arch/sh/crashdump-sh.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/sh/crashdump-sh.c 2015-02-25 05:41:32.000000000 +0100 @@ -34,8 +34,8 @@ static int crash_sh_range_nr; static int crash_sh_memory_range_callback(void *UNUSED(data), int UNUSED(nr), char *str, - unsigned long base, - unsigned long length) + unsigned long long base, + unsigned long long length) { struct memory_range *range = crash_memory_range; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/arch/sh/kexec-sh.c new/kexec-tools-2.0.10/kexec/arch/sh/kexec-sh.c --- old/kexec-tools-2.0.9/kexec/arch/sh/kexec-sh.c 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/arch/sh/kexec-sh.c 2015-02-25 05:41:32.000000000 +0100 @@ -24,8 +24,8 @@ static int kexec_sh_memory_range_callback(void *UNUSED(data), int nr, char *UNUSED(str), - unsigned long base, - unsigned long length) + unsigned long long base, + unsigned long long length) { if (nr < MAX_MEMORY_RANGES) { memory_range[nr].start = base; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/fs2dt.c new/kexec-tools-2.0.10/kexec/fs2dt.c --- old/kexec-tools-2.0.9/kexec/fs2dt.c 2014-12-02 02:49:54.000000000 +0100 +++ new/kexec-tools-2.0.10/kexec/fs2dt.c 2015-02-18 22:27:00.000000000 +0100 @@ -122,16 +122,17 @@ else if (!strcmp(name, "rtas-size") || !strcmp(name, "linux,tce-size")) size = be32_to_cpu(*data); - else if (reuse_initrd && !strcmp(name, "linux,initrd-start")) + else if (reuse_initrd && !strcmp(name, "linux,initrd-start")) { if (len == 8) base = be64_to_cpu(*(unsigned long long *) data); else base = be32_to_cpu(*data); - else if (reuse_initrd && !strcmp(name, "linux,initrd-end")) + } else if (reuse_initrd && !strcmp(name, "linux,initrd-end")) { if (len == 8) end = be64_to_cpu(*(unsigned long long *) data); else end = be32_to_cpu(*data); + } if (size && end) die("unrecoverable error: size and end set at same time\n"); @@ -321,7 +322,7 @@ ranges = malloc(ranges_size * sizeof(*ranges)); if (!ranges) - die("unrecoverable error: can't alloc %d bytes for ranges.\n", + die("unrecoverable error: can't alloc %zu bytes for ranges.\n", ranges_size * sizeof(*ranges)); for (range = 0; range < usablemem_rgns.size; range++) { @@ -344,7 +345,7 @@ sizeof(*ranges)); if (!ranges) die("unrecoverable error: can't realloc" - "%d bytes for ranges.\n", + "%zu bytes for ranges.\n", ranges_size*sizeof(*ranges)); } ranges[rlen++] = cpu_to_be64(loc_base); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/kexec.8 new/kexec-tools-2.0.10/kexec/kexec.8 --- old/kexec-tools-2.0.9/kexec/kexec.8 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/kexec.8 2015-04-15 03:07:06.000000000 +0200 @@ -6,7 +6,7 @@ kexec \- directly boot into a new kernel .SH SYNOPSIS .B /sbin/kexec -.B [-v (\-\-version)] [-f (\-\-force)] [-x (\-\-no-ifdown)] [-l (\-\-load)] [-p (\-\-load-panic)] [-u (\-\-unload)] [-e (\-\-exec)] [-t (\-\-type)] +.B [-v (\-\-version)] [-f (\-\-force)] [-x (\-\-no-ifdown)] [-y (\-\-no-sync)] [-l (\-\-load)] [-p (\-\-load-panic)] [-u (\-\-unload)] [-e (\-\-exec)] [-t (\-\-type)] .BI [\-\-mem\-min= addr ] .BI [\-\-mem\-max= addr ] @@ -147,8 +147,10 @@ Return the version number of the installed utility. .TP .B \-x\ (\-\-no\-ifdown) -Shut down the running kernel, but restore the interface on reload. (If -this option is used, it must be specified last.) +Shut down the running kernel, but restore the interface on reload. +.TP +.B \-y\ (\-\-no\-sync) +Shut down the running kernel, but skip syncing the filesystems. .TP .BI \-\-mem\-min= addr Specify the lowest memory address diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/kexec.c new/kexec-tools-2.0.10/kexec/kexec.c --- old/kexec-tools-2.0.9/kexec/kexec.c 2015-01-05 02:48:43.000000000 +0100 +++ new/kexec-tools-2.0.10/kexec/kexec.c 2015-04-15 03:07:06.000000000 +0200 @@ -913,8 +913,7 @@ " -f, --force Force an immediate kexec,\n" " don't call shutdown.\n" " -x, --no-ifdown Don't bring down network interfaces.\n" - " (if used, must be last option\n" - " specified)\n" + " -y, --no-sync Don't sync filesystems before kexec.\n" " -l, --load Load the new kernel into the\n" " current kernel.\n" " -p, --load-panic Load the new kernel for use on panic.\n" @@ -1167,8 +1166,8 @@ int do_exec = 0; int do_load_jump_back_helper = 0; int do_shutdown = 1; - int do_sync = 1; - int do_ifdown = 0; + int do_sync = 1, skip_sync = 0; + int do_ifdown = 0, skip_ifdown = 0; int do_unload = 0; int do_reuse_initrd = 0; int do_kexec_file_syscall = 0; @@ -1216,7 +1215,10 @@ case OPT_DEBUG: kexec_debug = 1; case OPT_NOIFDOWN: - do_ifdown = 0; + skip_ifdown = 1; + break; + case OPT_NOSYNC: + skip_sync = 1; break; case OPT_FORCE: do_load = 1; @@ -1315,6 +1317,11 @@ } } + if (skip_ifdown) + do_ifdown = 0; + if (skip_sync) + do_sync = 0; + if (do_load && (kexec_flags & KEXEC_ON_CRASH) && !is_crashkernel_mem_reserved()) { die("Memory for crashkernel is not reserved\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/kexec.h new/kexec-tools-2.0.10/kexec/kexec.h --- old/kexec-tools-2.0.9/kexec/kexec.h 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/kexec.h 2015-04-15 03:05:59.000000000 +0200 @@ -209,6 +209,7 @@ #define OPT_DEBUG 'd' #define OPT_FORCE 'f' #define OPT_NOIFDOWN 'x' +#define OPT_NOSYNC 'y' #define OPT_EXEC 'e' #define OPT_LOAD 'l' #define OPT_UNLOAD 'u' @@ -227,6 +228,7 @@ { "version", 0, 0, OPT_VERSION }, \ { "force", 0, 0, OPT_FORCE }, \ { "no-ifdown", 0, 0, OPT_NOIFDOWN }, \ + { "no-sync", 0, 0, OPT_NOSYNC }, \ { "load", 0, 0, OPT_LOAD }, \ { "unload", 0, 0, OPT_UNLOAD }, \ { "exec", 0, 0, OPT_EXEC }, \ @@ -241,7 +243,7 @@ { "kexec-file-syscall", 0, 0, OPT_KEXEC_FILE_SYSCALL }, \ { "debug", 0, 0, OPT_DEBUG }, \ -#define KEXEC_OPT_STR "h?vdfxluet:ps" +#define KEXEC_OPT_STR "h?vdfxyluet:ps" extern void dbgprint_mem_range(const char *prefix, struct memory_range *mr, int nr_mr); extern void die(const char *fmt, ...) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/lzma.c new/kexec-tools-2.0.10/kexec/lzma.c --- old/kexec-tools-2.0.9/kexec/lzma.c 2013-11-19 02:05:49.000000000 +0100 +++ new/kexec-tools-2.0.10/kexec/lzma.c 2015-02-09 07:00:12.000000000 +0100 @@ -162,13 +162,16 @@ off_t size, allocated; ssize_t result; - if (!filename) { - *r_size = 0; - return 0; - } + dbgprintf("Try LZMA decompression.\n"); + + *r_size = 0; + if (!filename) + return NULL; + fp = lzopen(filename, "rb"); if (fp == 0) { - die("Cannot open `%s'\n", filename); + dbgprintf("Cannot open `%s'\n", filename); + return NULL; } size = 0; allocated = 65536; @@ -183,17 +186,25 @@ if ((errno == EINTR) || (errno == EAGAIN)) continue; - die ("read on %s of %ld bytes failed\n", - filename, (allocated - size) + 0UL); + dbgprintf("%s: read on %s of %ld bytes failed\n", + __func__, filename, (allocated - size) + 0UL); + break; } size += result; - } while(result > 0); - result = lzclose(fp); - if (result != LZMA_OK) { - die ("Close of %s failed\n", filename); + } while (result > 0); + + if (lzclose(fp) != LZMA_OK) { + dbgprintf("%s: Close of %s failed\n", __func__, filename); + goto fail; } + if (result < 0) + goto fail; + *r_size = size; return buf; +fail: + free(buf); + return NULL; } #else char *lzma_decompress_file(const char *UNUSED(filename), off_t *UNUSED(r_size)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec/zlib.c new/kexec-tools-2.0.10/kexec/zlib.c --- old/kexec-tools-2.0.9/kexec/zlib.c 2011-10-03 00:56:38.000000000 +0200 +++ new/kexec-tools-2.0.10/kexec/zlib.c 2015-02-09 07:00:12.000000000 +0100 @@ -15,29 +15,39 @@ #include <ctype.h> #include <zlib.h> +static void _gzerror(gzFile fp, int *errnum, const char **errmsg) +{ + *errmsg = gzerror(fp, errnum); + if (*errnum == Z_ERRNO) { + *errmsg = strerror(*errnum); + } +} + char *zlib_decompress_file(const char *filename, off_t *r_size) { gzFile fp; int errnum; const char *msg; char *buf; - off_t size, allocated; + off_t size = 0, allocated; ssize_t result; + dbgprintf("Try gzip decompression.\n"); + + *r_size = 0; if (!filename) { - *r_size = 0; - return 0; + return NULL; } fp = gzopen(filename, "rb"); if (fp == 0) { - msg = gzerror(fp, &errnum); - if (errnum == Z_ERRNO) { - msg = strerror(errno); - } - fprintf(stderr, "Cannot open `%s': %s\n", filename, msg); + _gzerror(fp, &errnum, &msg); + dbgprintf("Cannot open `%s': %s\n", filename, msg); + return NULL; + } + if (gzdirect(fp)) { + /* It's not in gzip format */ return NULL; } - size = 0; allocated = 65536; buf = xmalloc(allocated); do { @@ -49,25 +59,28 @@ if (result < 0) { if ((errno == EINTR) || (errno == EAGAIN)) continue; - - msg = gzerror(fp, &errnum); - if (errnum == Z_ERRNO) { - msg = strerror(errno); - } - die ("read on %s of %ld bytes failed: %s\n", - filename, (allocated - size) + 0UL, msg); + _gzerror(fp, &errnum, &msg); + dbgprintf("Read on %s of %ld bytes failed: %s\n", + filename, (allocated - size) + 0UL, msg); + size = 0; + goto fail; } size += result; } while(result > 0); + +fail: result = gzclose(fp); if (result != Z_OK) { - msg = gzerror(fp, &errnum); - if (errnum == Z_ERRNO) { - msg = strerror(errno); - } - die ("Close of %s failed: %s\n", filename, msg); + _gzerror(fp, &errnum, &msg); + dbgprintf(" Close of %s failed: %s\n", filename, msg); + } + + if (size > 0) { + *r_size = size; + } else { + free(buf); + buf = NULL; } - *r_size = size; return buf; } #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/kexec-tools.spec new/kexec-tools-2.0.10/kexec-tools.spec --- old/kexec-tools-2.0.9/kexec-tools.spec 2015-02-09 06:32:29.000000000 +0100 +++ new/kexec-tools-2.0.10/kexec-tools.spec 2015-06-25 12:14:23.000000000 +0200 @@ -1,6 +1,6 @@ Summary: Load one kernel from another Name: kexec-tools -Version: 2.0.9 +Version: 2.0.10 Release: 0 License: GPL Group: Development/Tools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/purgatory/Makefile new/kexec-tools-2.0.10/purgatory/Makefile --- old/kexec-tools-2.0.9/purgatory/Makefile 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/purgatory/Makefile 2015-04-30 07:05:17.000000000 +0200 @@ -12,6 +12,7 @@ PURGATORY_SRCS += purgatory/purgatory.c PURGATORY_SRCS += purgatory/printf.c PURGATORY_SRCS += purgatory/string.c +PURGATORY_MAP = purgatory/purgatory.map dist += purgatory/Makefile $(PURGATORY_SRCS) \ purgatory/include/purgatory.h purgatory/include/string.h @@ -47,7 +48,9 @@ $(PURGATORY): CC=$(TARGET_CC) $(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \ $($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ - -Os -fno-builtin -ffreestanding + -Os -fno-builtin -ffreestanding \ + -fno-zero-initialized-in-bss \ + -fno-PIC -fno-PIE -fno-stack-protector $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ -I$(srcdir)/purgatory/include \ @@ -58,14 +61,14 @@ -I$(shell $(CC) -print-file-name=include) $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ -Wl,--no-undefined -nostartfiles -nostdlib \ - -nodefaultlibs -e purgatory_start -r + -nodefaultlibs -e purgatory_start -r \ + -Wl,-Map=$(PURGATORY_MAP) $(PURGATORY): $(PURGATORY_OBJS) $(MKDIR) -p $(@D) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ - + $(CC) $(CFLAGS) $(LDFLAGS) -o $@.sym $^ # $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) - $(STRIP) --strip-debug $@ + $(STRIP) --strip-debug -o $@ $@.sym echo:: @echo "PURGATORY_SRCS $(PURGATORY_SRCS)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/purgatory/arch/ppc64/Makefile new/kexec-tools-2.0.10/purgatory/arch/ppc64/Makefile --- old/kexec-tools-2.0.9/purgatory/arch/ppc64/Makefile 2014-10-14 06:58:06.000000000 +0200 +++ new/kexec-tools-2.0.10/purgatory/arch/ppc64/Makefile 2015-04-30 07:05:17.000000000 +0200 @@ -9,7 +9,7 @@ ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/crashdump_backup.c ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/misc.S -ppc64_PURGATORY_EXTRA_CFLAGS += -m64 -msoft-float -fno-stack-protector \ +ppc64_PURGATORY_EXTRA_CFLAGS += -m64 -msoft-float \ -fno-exceptions ppc64_PURGATORY_EXTRA_ASFLAGS += -m64 ifeq ($(SUBARCH),BE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/purgatory/arch/s390/Makefile new/kexec-tools-2.0.10/purgatory/arch/s390/Makefile --- old/kexec-tools-2.0.9/purgatory/arch/s390/Makefile 2011-10-03 00:56:38.000000000 +0200 +++ new/kexec-tools-2.0.10/purgatory/arch/s390/Makefile 2015-04-30 07:05:17.000000000 +0200 @@ -2,7 +2,6 @@ # Purgatory s390 # -s390_PURGATORY_EXTRA_CFLAGS += -fno-stack-protector s390_PURGATORY_SRCS += purgatory/arch/s390/console-s390.c s390_PURGATORY_SRCS += purgatory/arch/s390/setup-s390.S s390_PURGATORY_SRCS += purgatory/arch/s390/purgatory-s390.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/purgatory/include/purgatory.h new/kexec-tools-2.0.10/purgatory/include/purgatory.h --- old/kexec-tools-2.0.9/purgatory/include/purgatory.h 2010-07-29 11:22:16.000000000 +0200 +++ new/kexec-tools-2.0.10/purgatory/include/purgatory.h 2015-03-19 03:18:30.000000000 +0100 @@ -2,8 +2,9 @@ #define PURGATORY_H void putchar(int ch); -void sprintf(char *buffer, const char *fmt, ...); -void printf(const char *fmt, ...); +void sprintf(char *buffer, const char *fmt, ...) + __attribute__ ((format (printf, 2, 3))); +void printf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); void setup_arch(void); void post_verification_setup_arch(void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kexec-tools-2.0.9/purgatory/string.c new/kexec-tools-2.0.10/purgatory/string.c --- old/kexec-tools-2.0.9/purgatory/string.c 2010-07-29 11:22:16.000000000 +0200 +++ new/kexec-tools-2.0.10/purgatory/string.c 2015-04-23 06:44:47.000000000 +0200 @@ -46,6 +46,8 @@ if (*s1 != *s2) { return *s2 - *s1; } + s1++; + s2++; } return 0; ++++++ kexec-tools-xen-balloon-up.patch ++++++ --- /var/tmp/diff_new_pack.SdYEqZ/_old 2015-07-14 17:20:34.000000000 +0200 +++ /var/tmp/diff_new_pack.SdYEqZ/_new 2015-07-14 17:20:34.000000000 +0200 @@ -179,15 +179,15 @@ unsigned long machine = elf_info->machine; --- a/kexec/kexec.c +++ b/kexec/kexec.c -@@ -1173,6 +1173,7 @@ int main(int argc, char *argv[]) +@@ -1168,6 +1168,7 @@ int main(int argc, char *argv[]) int do_shutdown = 1; - int do_sync = 1; - int do_ifdown = 0; + int do_sync = 1, skip_sync = 0; + int do_ifdown = 0, skip_ifdown = 0; + int do_balloon = 0; int do_unload = 0; int do_reuse_initrd = 0; int do_kexec_file_syscall = 0; -@@ -1227,6 +1228,7 @@ int main(int argc, char *argv[]) +@@ -1225,6 +1226,7 @@ int main(int argc, char *argv[]) do_shutdown = 0; do_sync = 1; do_ifdown = 1; @@ -195,7 +195,7 @@ do_exec = 1; break; case OPT_LOAD: -@@ -1247,6 +1249,7 @@ int main(int argc, char *argv[]) +@@ -1245,6 +1247,7 @@ int main(int argc, char *argv[]) do_shutdown = 0; do_sync = 1; do_ifdown = 1; @@ -203,7 +203,7 @@ do_exec = 1; break; case OPT_LOAD_JUMP_BACK_HELPER: -@@ -1384,6 +1387,9 @@ int main(int argc, char *argv[]) +@@ -1387,6 +1390,9 @@ int main(int argc, char *argv[]) if ((result == 0) && do_ifdown) { ifdown(); } @@ -215,7 +215,7 @@ } --- a/kexec/kexec.h +++ b/kexec/kexec.h -@@ -305,5 +305,6 @@ int xen_present(void); +@@ -307,5 +307,6 @@ int xen_present(void); int xen_kexec_load(struct kexec_info *info); int xen_kexec_unload(uint64_t kexec_flags); void xen_kexec_exec(void); ++++++ kexec-tools-xen-static.patch ++++++ --- /var/tmp/diff_new_pack.SdYEqZ/_old 2015-07-14 17:20:34.000000000 +0200 +++ /var/tmp/diff_new_pack.SdYEqZ/_new 2015-07-14 17:20:34.000000000 +0200 @@ -14,13 +14,13 @@ --- a/configure.ac +++ b/configure.ac -@@ -161,7 +161,8 @@ fi +@@ -164,7 +164,8 @@ fi dnl find Xen control stack libraries if test "$with_xen" = yes ; then AC_CHECK_HEADER(xenctrl.h, -- AC_CHECK_LIB(xenctrl, xc_kexec_load, , -+ AC_CHECK_LIB(xenctrl, xc_kexec_load, -+ [AC_DEFINE([HAVE_LIBXENCTRL], [1], [libxenctrl]) [[LIBS="-Wl,-Bstatic -lxenctrl -Wl,-Bdynamic -lpthread -ldl $LIBS"]]], - AC_MSG_NOTICE([Xen support disabled]))) +- [AC_CHECK_LIB(xenctrl, xc_kexec_load, , ++ [AC_CHECK_LIB(xenctrl, xc_kexec_load, ++ [AC_DEFINE([HAVE_LIBXENCTRL], [1], [libxenctrl]) [LIBS="-Wl,-Bstatic -lxenctrl -Wl,-Bdynamic -lpthread -ldl $LIBS"]], + AC_MSG_NOTICE([Xen support disabled]))]) fi