From 3685247855718af7b52f8a913ebcb9ac1aff9da8 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Mar 28 2013 08:36:05 +0000 Subject: import gdbm-1.10-6.el7.src.rpm --- diff --git a/.gdbm.metadata b/.gdbm.metadata new file mode 100644 index 0000000..89222a2 --- /dev/null +++ b/.gdbm.metadata @@ -0,0 +1 @@ +441201e9145f590ba613f8a1e952455d620e0860 SOURCES/gdbm-1.10.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/gdbm-1.10-fedora.patch b/SOURCES/gdbm-1.10-fedora.patch new file mode 100644 index 0000000..18a4d5e --- /dev/null +++ b/SOURCES/gdbm-1.10-fedora.patch @@ -0,0 +1,14 @@ +diff -up gdbm-1.10/NOTE-WARNING.fedora gdbm-1.10/NOTE-WARNING +--- gdbm-1.10/NOTE-WARNING.fedora 2011-11-14 17:43:41.267566501 +0100 ++++ gdbm-1.10/NOTE-WARNING 2011-11-14 17:47:53.312549265 +0100 +@@ -12,8 +12,8 @@ systems where it is not the default. `L + when a system uses 64bit file offsets. Gdbm has, of course, supported `large + files' on systems where it was the default for a very long time. + +-On some systems, such as Solaris, this functionality is not enabled by +-default. Gdbm will now enable it. THIS MEANS THAT GDBM 1.9 MAY NOT BE ++On some systems this functionality is not enabled by default. To enable it, ++build rpm with option --with=largefile. THIS MEANS THAT GDBM 1.9 MAY NOT BE + ABLE TO ACCESS DATABASES CREATED BY PREVIOUS VERIONS ON THE SAME SYSTEM. + + Running the `configure' script with the `--disable-largefile' flag should diff --git a/SOURCES/gdbm-1.10-zeroheaders.patch b/SOURCES/gdbm-1.10-zeroheaders.patch new file mode 100644 index 0000000..a268f6b --- /dev/null +++ b/SOURCES/gdbm-1.10-zeroheaders.patch @@ -0,0 +1,33 @@ +diff -up gdbm-1.10/src/falloc.c.zeroheaders gdbm-1.10/src/falloc.c +--- gdbm-1.10/src/falloc.c.zeroheaders 2011-11-11 11:59:11.000000000 +0100 ++++ gdbm-1.10/src/falloc.c 2011-11-14 17:34:32.487604027 +0100 +@@ -255,7 +255,7 @@ push_avail_block (GDBM_FILE dbf) + + + /* Split the header block. */ +- temp = (avail_block *) malloc (av_size); ++ temp = (avail_block *) calloc (1, av_size); + if (temp == NULL) _gdbm_fatal (dbf, _("malloc error")); + /* Set the size to be correct AFTER the pop_avail_block. */ + temp->size = dbf->header->avail.size; +diff -up gdbm-1.10/src/gdbmopen.c.zeroheaders gdbm-1.10/src/gdbmopen.c +--- gdbm-1.10/src/gdbmopen.c.zeroheaders 2011-11-11 19:39:42.000000000 +0100 ++++ gdbm-1.10/src/gdbmopen.c 2011-11-14 17:33:24.867608650 +0100 +@@ -264,7 +264,7 @@ gdbm_open (const char *file, int block_s + (dbf->header->block_size - sizeof (hash_bucket)) + / sizeof (bucket_element) + 1; + dbf->header->bucket_size = dbf->header->block_size; +- dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size); ++ dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size); + if (dbf->bucket == NULL) + { + gdbm_close (dbf); +@@ -456,7 +456,7 @@ _gdbm_init_cache(GDBM_FILE dbf, size_t s + for(index = 0; index < size; index++) + { + (dbf->bucket_cache[index]).ca_bucket +- = (hash_bucket *) malloc (dbf->header->bucket_size); ++ = (hash_bucket *) calloc (1, dbf->header->bucket_size); + if ((dbf->bucket_cache[index]).ca_bucket == NULL) + { + gdbm_errno = GDBM_MALLOC_ERROR; diff --git a/SOURCES/gdbm-aarch64.patch b/SOURCES/gdbm-aarch64.patch new file mode 100644 index 0000000..ee00be1 --- /dev/null +++ b/SOURCES/gdbm-aarch64.patch @@ -0,0 +1,1144 @@ +diff -urN gdbm-1.10/build-aux/config.guess gdbm-1.10-aarch64/build-aux/config.guess +--- gdbm-1.10/build-aux/config.guess 2010-01-03 03:13:18.000000000 -0600 ++++ gdbm-1.10-aarch64/build-aux/config.guess 2013-03-03 04:57:09.706369924 -0600 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Attempt to guess a canonical system name. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +-# Free Software Foundation, Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2009-11-20' ++timestamp='2012-09-25' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +@@ -17,9 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -56,8 +54,9 @@ + GNU config.guess ($timestamp) + + Originally written by Per Bothner. +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 ++Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -144,7 +143,7 @@ + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or +- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward +@@ -180,7 +179,7 @@ + fi + ;; + *) +- os=netbsd ++ os=netbsd + ;; + esac + # The OS release +@@ -201,6 +200,10 @@ + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -223,7 +226,7 @@ + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) +- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on +@@ -269,7 +272,10 @@ + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- exit ;; ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead +@@ -295,12 +301,12 @@ + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 ++ echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; +- arm:riscos:*:*|arm:RISCOS:*:*) ++ arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +@@ -394,23 +400,23 @@ + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; +@@ -480,8 +486,8 @@ + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) +- # DG/UX returns AViiON for all architectures +- UNAME_PROCESSOR=`/usr/bin/uname -p` ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +@@ -494,7 +500,7 @@ + else + echo i586-dg-dgux${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; +@@ -551,7 +557,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[456]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -594,52 +600,52 @@ + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` +- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in +- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 +- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 +- 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in +- 32) HP_ARCH="hppa2.0n" ;; +- 64) HP_ARCH="hppa2.0w" ;; ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 +- esac ;; +- esac ++ esac ;; ++ esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ sed 's/^ //' << EOF >$dummy.c ++ ++ #define _HPUX_SOURCE ++ #include ++ #include + +- #define _HPUX_SOURCE +- #include +- #include +- +- int main () +- { +- #if defined(_SC_KERNEL_BITS) +- long bits = sysconf(_SC_KERNEL_BITS); +- #endif +- long cpu = sysconf (_SC_CPU_VERSION); +- +- switch (cpu) +- { +- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; +- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; +- case CPU_PA_RISC2_0: +- #if defined(_SC_KERNEL_BITS) +- switch (bits) +- { +- case 64: puts ("hppa2.0w"); break; +- case 32: puts ("hppa2.0n"); break; +- default: puts ("hppa2.0"); break; +- } break; +- #else /* !defined(_SC_KERNEL_BITS) */ +- puts ("hppa2.0"); break; +- #endif +- default: puts ("hppa1.0"); break; +- } +- exit (0); +- } ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } + EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa +@@ -730,22 +736,22 @@ + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd +- exit ;; ++ exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi +- exit ;; ++ exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd +- exit ;; ++ exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd +- exit ;; ++ exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd +- exit ;; ++ exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; +@@ -769,14 +775,14 @@ + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; + 5000:UNIX_System_V:4.*:*) +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` ++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +@@ -788,30 +794,35 @@ + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) +- case ${UNAME_MACHINE} in +- pc98) +- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) +- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 ++ # uname -m includes "-pc" on this system. ++ echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) +- case ${UNAME_MACHINE} in ++ case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; +@@ -857,6 +868,13 @@ + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; +@@ -866,7 +884,7 @@ + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; +- esac ++ esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} +@@ -878,20 +896,29 @@ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else +- echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ else ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf ++ fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu +@@ -933,7 +960,7 @@ + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu +@@ -959,7 +986,7 @@ + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -967,14 +994,17 @@ + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; ++ tile*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. +@@ -983,11 +1013,11 @@ + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) +- # Unixware is an offshoot of SVR4, but it has its own version +- # number series starting with 2... +- # I am not positive that other SVR4 systems won't match this, ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. +- # Use sysv4.2uw... so that sysv4* matches it. ++ # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) +@@ -1019,7 +1049,7 @@ + fi + exit ;; + i*86:*:5:[678]*) +- # UnixWare 7.x, OpenUNIX and OpenServer 6. ++ # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; +@@ -1047,13 +1077,13 @@ + exit ;; + pc:*:*:*) + # Left here for compatibility: +- # uname -m prints for DJGPP always 'pc', but it prints nothing about +- # the processor, so we play safe by assuming i586. ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp +- exit ;; ++ exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; +@@ -1088,8 +1118,8 @@ + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4; exit; } ;; ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ +@@ -1132,10 +1162,10 @@ + echo ns32k-sni-sysv + fi + exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort +- # says +- echo i586-unisys-sysv4 +- exit ;; ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +@@ -1161,11 +1191,11 @@ + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ echo mips-nec-sysv${UNAME_RELEASE} + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ echo mips-unknown-sysv${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; +@@ -1178,6 +1208,9 @@ + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1230,7 +1263,10 @@ + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1275,13 +1311,13 @@ + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} ++ echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) +- UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; +@@ -1299,11 +1335,11 @@ + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c < + printf ("m68k-sony-newsos%s\n", + #ifdef NEWSOS4 +- "4" ++ "4" + #else +- "" ++ "" + #endif +- ); exit (0); ++ ); exit (0); + #endif + #endif + +diff -urN gdbm-1.10/build-aux/config.sub gdbm-1.10-aarch64/build-aux/config.sub +--- gdbm-1.10/build-aux/config.sub 2010-01-03 03:13:18.000000000 -0600 ++++ gdbm-1.10-aarch64/build-aux/config.sub 2013-03-03 04:57:09.745365414 -0600 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Configuration validation subroutine script. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +-# Free Software Foundation, Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2009-11-20' ++timestamp='2012-10-10' + + # This file is (in principle) common to ALL GNU software. + # The presence of a machine in this file suggests that SOME GNU software +@@ -21,9 +21,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -75,8 +73,9 @@ + version="\ + GNU config.sub ($timestamp) + +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 ++Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -123,13 +122,18 @@ + # Here we must recognize all the valid KERNEL-OS combinations. + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in +- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ +- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ ++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ ++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ ++ knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; ++ android-linux) ++ os=-linux-android ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ++ ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] +@@ -152,12 +156,12 @@ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray | -microblaze) ++ -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; +- -bluegene*) +- os=-cnk ++ -bluegene*) ++ os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= +@@ -173,10 +177,10 @@ + os=-chorusos + basic_machine=$1 + ;; +- -chorusrdb) +- os=-chorusrdb ++ -chorusrdb) ++ os=-chorusrdb + basic_machine=$1 +- ;; ++ ;; + -hiux*) + os=-hiuxwe2 + ;; +@@ -221,6 +225,12 @@ + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -lynx*178) ++ os=-lynxos178 ++ ;; ++ -lynx*5) ++ os=-lynxos5 ++ ;; + -lynx*) + os=-lynxos + ;; +@@ -245,20 +255,25 @@ + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ ++ | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ ++ | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ ++ | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | mcore | mep | metag \ ++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ +@@ -281,29 +296,39 @@ + | moxie \ + | mt \ + | msp430 \ ++ | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ ++ | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ +- | rx \ ++ | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu | strongarm \ +- | tahoe | thumb | tic4x | tic80 | tron \ ++ | spu \ ++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ +- | v850 | v850e \ ++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ +- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ ++ | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; +- m6811 | m68hc11 | m6812 | m68hc12 | picochip) +- # Motorola 68HC11/12. ++ c54x) ++ basic_machine=tic54x-unknown ++ ;; ++ c55x) ++ basic_machine=tic55x-unknown ++ ;; ++ c6x) ++ basic_machine=tic6x-unknown ++ ;; ++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; +@@ -313,6 +338,21 @@ + basic_machine=mt-unknown + ;; + ++ strongarm | thumb | xscale) ++ basic_machine=arm-unknown ++ ;; ++ xgate) ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ xscaleeb) ++ basic_machine=armeb-unknown ++ ;; ++ ++ xscaleel) ++ basic_machine=armel-unknown ++ ;; ++ + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. +@@ -327,25 +367,30 @@ + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ ++ | be32-* | be64-* \ + | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ ++ | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ ++ | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ ++ | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ ++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ ++ | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ +@@ -367,25 +412,29 @@ + | mmix-* \ + | mt-* \ + | msp430-* \ ++ | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ ++ | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ ++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ +- | romp-* | rs6000-* | rx-* \ ++ | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ +- | tahoe-* | thumb-* \ +- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ ++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ ++ | tahoe-* \ ++ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ ++ | tile*-* \ + | tron-* \ + | ubicom32-* \ +- | v850-* | v850e-* | vax-* \ ++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ ++ | vax-* \ + | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ ++ | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) +@@ -410,7 +459,7 @@ + basic_machine=a29k-amd + os=-udi + ;; +- abacus) ++ abacus) + basic_machine=abacus-unknown + ;; + adobe68k) +@@ -480,11 +529,20 @@ + basic_machine=powerpc-ibm + os=-cnk + ;; ++ c54x-*) ++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c55x-*) ++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c6x-*) ++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; +- cegcc) ++ cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; +@@ -516,7 +574,7 @@ + basic_machine=craynv-cray + os=-unicosmp + ;; +- cr16) ++ cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; +@@ -674,7 +732,6 @@ + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +-# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 +@@ -732,9 +789,13 @@ + basic_machine=ns32k-utek + os=-sysv + ;; +- microblaze) ++ microblaze*) + basic_machine=microblaze-xilinx + ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ os=-mingw64 ++ ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 +@@ -771,10 +832,18 @@ + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; ++ msys) ++ basic_machine=i386-pc ++ os=-msys ++ ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; ++ nacl) ++ basic_machine=le32-unknown ++ os=-nacl ++ ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 +@@ -839,6 +908,12 @@ + np1) + basic_machine=np1-gould + ;; ++ neo-tandem) ++ basic_machine=neo-tandem ++ ;; ++ nse-tandem) ++ basic_machine=nse-tandem ++ ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; +@@ -921,9 +996,10 @@ + ;; + power) basic_machine=power-ibm + ;; +- ppc) basic_machine=powerpc-unknown ++ ppc | ppcbe) basic_machine=powerpc-unknown + ;; +- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ppc-* | ppcbe-*) ++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown +@@ -1017,6 +1093,9 @@ + basic_machine=i860-stratus + os=-sysv4 + ;; ++ strongarm-* | thumb-*) ++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + sun2) + basic_machine=m68000-sun + ;; +@@ -1073,20 +1152,8 @@ + basic_machine=t90-cray + os=-unicos + ;; +- tic54x | c54x*) +- basic_machine=tic54x-unknown +- os=-coff +- ;; +- tic55x | c55x*) +- basic_machine=tic55x-unknown +- os=-coff +- ;; +- tic6x | c6x*) +- basic_machine=tic6x-unknown +- os=-coff +- ;; + tile*) +- basic_machine=tile-unknown ++ basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) +@@ -1156,6 +1223,9 @@ + xps | xps100) + basic_machine=xps100-honeywell + ;; ++ xscale-* | xscalee[bl]-*) ++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ++ ;; + ymp) + basic_machine=ymp-cray + os=-unicos +@@ -1253,11 +1323,11 @@ + if [ x"$os" != x"" ] + then + case $os in +- # First match some system type aliases +- # that might get confused with valid system types. ++ # First match some system type aliases ++ # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. +- -auroraux) +- os=-auroraux ++ -auroraux) ++ os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` +@@ -1287,14 +1357,15 @@ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ +- | -openbsd* | -solidbsd* \ ++ | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ ++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ +@@ -1341,7 +1412,7 @@ + -opened*) + os=-openedition + ;; +- -os400*) ++ -os400*) + os=-os400 + ;; + -wince*) +@@ -1390,7 +1461,7 @@ + -sinix*) + os=-sysv4 + ;; +- -tpf*) ++ -tpf*) + os=-tpf + ;; + -triton*) +@@ -1435,6 +1506,8 @@ + -dicos*) + os=-dicos + ;; ++ -nacl*) ++ ;; + -none) + ;; + *) +@@ -1457,10 +1530,10 @@ + # system, and we'll never get to this point. + + case $basic_machine in +- score-*) ++ score-*) + os=-elf + ;; +- spu-*) ++ spu-*) + os=-elf + ;; + *-acorn) +@@ -1472,8 +1545,20 @@ + arm*-semi) + os=-aout + ;; +- c4x-* | tic4x-*) +- os=-coff ++ c4x-* | tic4x-*) ++ os=-coff ++ ;; ++ hexagon-*) ++ os=-elf ++ ;; ++ tic54x-*) ++ os=-coff ++ ;; ++ tic55x-*) ++ os=-coff ++ ;; ++ tic6x-*) ++ os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) +@@ -1493,14 +1578,11 @@ + ;; + m68000-sun) + os=-sunos3 +- # This also exists in the configure program, but was not the +- # default. +- # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; +- mep-*) ++ mep-*) + os=-elf + ;; + mips*-cisco) +@@ -1527,7 +1609,7 @@ + *-ibm) + os=-aix + ;; +- *-knuth) ++ *-knuth) + os=-mmixware + ;; + *-wec) diff --git a/SOURCES/gdbm-sa1.patch b/SOURCES/gdbm-sa1.patch new file mode 100644 index 0000000..e969be8 --- /dev/null +++ b/SOURCES/gdbm-sa1.patch @@ -0,0 +1,343 @@ +These issues have been found by Coverty static analysis tool: + +Error: RESOURCE_LEAK (CWE-404): [#def4] +gdbm-1.10/src/flatfile.c:40: switch: Switch case value "2" +gdbm-1.10/src/flatfile.c:42: switch_case: Reached case "2" +gdbm-1.10/src/flatfile.c:43: open_fn: Returning handle opened by function "open(char const *, int, ...)". +gdbm-1.10/src/flatfile.c:43: var_assign: Assigning: "nfd" = handle returned from "open(exportfile, 193, mode)". +gdbm-1.10/src/flatfile.c:44: cond_false: Condition "nfd == -1", taking false branch +gdbm-1.10/src/flatfile.c:48: if_end: End of if statement +gdbm-1.10/src/flatfile.c:49: break: Breaking from switch +gdbm-1.10/src/flatfile.c:65: switch_end: Reached end of switch +gdbm-1.10/src/flatfile.c:68: noescape: Resource "nfd" is not freed or pointed-to in function "write(int, void const *, size_t)". +gdbm-1.10/src/flatfile.c:68: cond_true: Condition "write(nfd, header1, strlen(header1)) != strlen(header1)", taking true branch +gdbm-1.10/src/flatfile.c:69: goto: Jumping to label "write_fail" +gdbm-1.10/src/flatfile.c:107: label: Reached label "write_fail" +gdbm-1.10/src/flatfile.c:110: leaked_handle: Handle variable "nfd" going out of scope leaks the handle. + +Error: RESOURCE_LEAK (CWE-404): [#def5] +gdbm-1.10/src/flatfile.c:40: switch: Switch case value "3" +gdbm-1.10/src/flatfile.c:50: switch_case: Reached case "3" +gdbm-1.10/src/flatfile.c:51: open_fn: Returning handle opened by function "open(char const *, int, ...)". +gdbm-1.10/src/flatfile.c:51: var_assign: Assigning: "nfd" = handle returned from "open(exportfile, 577, mode)". +gdbm-1.10/src/flatfile.c:52: cond_false: Condition "nfd == -1", taking false branch +gdbm-1.10/src/flatfile.c:56: if_end: End of if statement +gdbm-1.10/src/flatfile.c:57: break: Breaking from switch +gdbm-1.10/src/flatfile.c:65: switch_end: Reached end of switch +gdbm-1.10/src/flatfile.c:68: noescape: Resource "nfd" is not freed or pointed-to in function "write(int, void const *, size_t)". +gdbm-1.10/src/flatfile.c:68: cond_true: Condition "write(nfd, header1, strlen(header1)) != strlen(header1)", taking true branch +gdbm-1.10/src/flatfile.c:69: goto: Jumping to label "write_fail" +gdbm-1.10/src/flatfile.c:107: label: Reached label "write_fail" +gdbm-1.10/src/flatfile.c:110: leaked_handle: Handle variable "nfd" going out of scope leaks the handle. + +Error: RESOURCE_LEAK (CWE-404): [#def6] +gdbm-1.10/src/flatfile.c:124: cond_false: Condition "ifd == -1", taking false branch +gdbm-1.10/src/flatfile.c:128: if_end: End of if statement +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_false: Condition "seennewline > 2", taking false branch +gdbm-1.10/src/flatfile.c:149: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_false: Condition "seennewline > 2", taking false branch +gdbm-1.10/src/flatfile.c:149: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seennewline > 2", taking true branch +gdbm-1.10/src/flatfile.c:148: break: Breaking from loop +gdbm-1.10/src/flatfile.c:152: loop_end: Reached end of loop +gdbm-1.10/src/flatfile.c:156: alloc_fn: Storage is returned from allocation function "malloc(size_t)". +gdbm-1.10/src/flatfile.c:156: var_assign: Assigning: "kbuffer" = storage returned from "malloc(kbufsize)". +gdbm-1.10/src/flatfile.c:157: cond_false: Condition "kbuffer == NULL", taking false branch +gdbm-1.10/src/flatfile.c:162: if_end: End of if statement +gdbm-1.10/src/flatfile.c:165: cond_true: Condition "dbuffer == NULL", taking true branch +gdbm-1.10/src/flatfile.c:169: leaked_storage: Variable "kbuffer" going out of scope leaks the storage it points to. + +Error: RESOURCE_LEAK (CWE-404): [#def8] +gdbm-1.10/src/flatfile.c:124: cond_false: Condition "ifd == -1", taking false branch +gdbm-1.10/src/flatfile.c:128: if_end: End of if statement +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_false: Condition "seennewline > 2", taking false branch +gdbm-1.10/src/flatfile.c:149: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_false: Condition "seennewline > 2", taking false branch +gdbm-1.10/src/flatfile.c:149: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seennewline > 2", taking true branch +gdbm-1.10/src/flatfile.c:148: break: Breaking from loop +gdbm-1.10/src/flatfile.c:152: loop_end: Reached end of loop +gdbm-1.10/src/flatfile.c:157: cond_false: Condition "kbuffer == NULL", taking false branch +gdbm-1.10/src/flatfile.c:162: if_end: End of if statement +gdbm-1.10/src/flatfile.c:164: alloc_fn: Storage is returned from allocation function "malloc(size_t)". +gdbm-1.10/src/flatfile.c:164: var_assign: Assigning: "dbuffer" = storage returned from "malloc(dbufsize)". +gdbm-1.10/src/flatfile.c:165: cond_false: Condition "dbuffer == NULL", taking false branch +gdbm-1.10/src/flatfile.c:170: if_end: End of if statement +gdbm-1.10/src/flatfile.c:173: cond_true: Condition "(rret = read(ifd, &rsize, 4UL /* sizeof (rsize) */)) != 0", taking true branch +gdbm-1.10/src/flatfile.c:175: cond_false: Condition "rret != 4UL /* sizeof (rsize) */", taking false branch +gdbm-1.10/src/flatfile.c:176: if_end: End of if statement +gdbm-1.10/src/flatfile.c:180: cond_true: Condition "size > kbufsize", taking true branch +gdbm-1.10/src/flatfile.c:184: cond_true: Condition "kbuffer == NULL", taking true branch +gdbm-1.10/src/flatfile.c:188: leaked_storage: Variable "dbuffer" going out of scope leaks the storage it points to. + +Error: RESOURCE_LEAK (CWE-404): [#def9] +gdbm-1.10/src/flatfile.c:124: cond_false: Condition "ifd == -1", taking false branch +gdbm-1.10/src/flatfile.c:128: if_end: End of if statement +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_false: Condition "seennewline > 2", taking false branch +gdbm-1.10/src/flatfile.c:149: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_true: Condition "c == '!'", taking true branch +gdbm-1.10/src/flatfile.c:143: cond_false: Condition "c == 10", taking false branch +gdbm-1.10/src/flatfile.c:151: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_false: Condition "seennewline > 2", taking false branch +gdbm-1.10/src/flatfile.c:149: if_end: End of if statement +gdbm-1.10/src/flatfile.c:152: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/flatfile.c:136: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/flatfile.c:136: cond_true: Condition "1", taking true branch +gdbm-1.10/src/flatfile.c:138: cond_false: Condition "read(ifd, &c, 1) != 1", taking false branch +gdbm-1.10/src/flatfile.c:139: if_end: End of if statement +gdbm-1.10/src/flatfile.c:141: cond_false: Condition "c == '!'", taking false branch +gdbm-1.10/src/flatfile.c:142: if_end: End of if statement +gdbm-1.10/src/flatfile.c:143: cond_true: Condition "c == 10", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seenbang > 3", taking true branch +gdbm-1.10/src/flatfile.c:145: cond_true: Condition "seennewline > 2", taking true branch +gdbm-1.10/src/flatfile.c:148: break: Breaking from loop +gdbm-1.10/src/flatfile.c:152: loop_end: Reached end of loop +gdbm-1.10/src/flatfile.c:157: cond_false: Condition "kbuffer == NULL", taking false branch +gdbm-1.10/src/flatfile.c:162: if_end: End of if statement +gdbm-1.10/src/flatfile.c:164: alloc_fn: Storage is returned from allocation function "malloc(size_t)". +gdbm-1.10/src/flatfile.c:164: var_assign: Assigning: "dbuffer" = storage returned from "malloc(dbufsize)". +gdbm-1.10/src/flatfile.c:165: cond_false: Condition "dbuffer == NULL", taking false branch +gdbm-1.10/src/flatfile.c:170: if_end: End of if statement +gdbm-1.10/src/flatfile.c:173: cond_false: Condition "(rret = read(ifd, &rsize, 4UL /* sizeof (rsize) */)) != 0", taking false branch +gdbm-1.10/src/flatfile.c:229: loop_end: Reached end of loop +gdbm-1.10/src/flatfile.c:232: leaked_storage: Variable "dbuffer" going out of scope leaks the storage it points to. + +Error: USE_AFTER_FREE (CWE-416): [#def16] +gdbm-1.10/src/gdbmreorg.c:70: cond_false: Condition "dbf->read_write == 0", taking false branch +gdbm-1.10/src/gdbmreorg.c:74: if_end: End of if statement +gdbm-1.10/src/gdbmreorg.c:77: cond_false: Condition "fstat(dbf->desc, &fileinfo)", taking false branch +gdbm-1.10/src/gdbmreorg.c:81: if_end: End of if statement +gdbm-1.10/src/gdbmreorg.c:89: cond_false: Condition "new_name == NULL", taking false branch +gdbm-1.10/src/gdbmreorg.c:93: if_end: End of if statement +gdbm-1.10/src/gdbmreorg.c:97: cond_true: Condition "len > 0", taking true branch +gdbm-1.10/src/gdbmreorg.c:97: cond_true: Condition "new_name[len - 1] != '/'", taking true branch +gdbm-1.10/src/gdbmreorg.c:101: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/gdbmreorg.c:97: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/gdbmreorg.c:97: cond_true: Condition "len > 0", taking true branch +gdbm-1.10/src/gdbmreorg.c:97: cond_false: Condition "new_name[len - 1] != '/'", taking false branch +gdbm-1.10/src/gdbmreorg.c:101: loop_end: Reached end of loop +gdbm-1.10/src/gdbmreorg.c:105: cond_true: Condition "dbf->cloexec", taking true branch +gdbm-1.10/src/gdbmreorg.c:109: cond_false: Condition "new_dbf == NULL", taking false branch +gdbm-1.10/src/gdbmreorg.c:114: if_end: End of if statement +gdbm-1.10/src/gdbmreorg.c:120: cond_false: Condition "key.dptr != NULL", taking false branch +gdbm-1.10/src/gdbmreorg.c:148: loop_end: Reached end of loop +gdbm-1.10/src/gdbmreorg.c:160: cond_false: Condition "rename(new_name, dbf->name) != 0", taking false branch +gdbm-1.10/src/gdbmreorg.c:166: if_end: End of if statement +gdbm-1.10/src/gdbmreorg.c:169: cond_true: Condition "dbf->file_locking", taking true branch +gdbm-1.10/src/gdbmreorg.c:173: closed_arg: "close(int)" closes "dbf->desc". +gdbm-1.10/src/gdbmreorg.c:177: cond_true: Condition "dbf->bucket_cache != NULL", taking true branch +gdbm-1.10/src/gdbmreorg.c:178: cond_true: Condition "index < dbf->cache_size", taking true branch +gdbm-1.10/src/gdbmreorg.c:179: cond_true: Condition "(dbf->bucket_cache + index).ca_bucket != NULL", taking true branch +gdbm-1.10/src/gdbmreorg.c:181: cond_true: Condition "(dbf->bucket_cache + index).ca_data.dptr != NULL", taking true branch +gdbm-1.10/src/gdbmreorg.c:183: loop: Jumping back to the beginning of the loop +gdbm-1.10/src/gdbmreorg.c:178: loop_begin: Jumped back to beginning of loop +gdbm-1.10/src/gdbmreorg.c:178: cond_false: Condition "index < dbf->cache_size", taking false branch +gdbm-1.10/src/gdbmreorg.c:183: loop_end: Reached end of loop +gdbm-1.10/src/gdbmreorg.c:189: cond_true: Condition "dbf->memory_mapping", taking true branch +gdbm-1.10/src/gdbmreorg.c:190: pass_closed_arg: Passing closed handle "dbf->desc" as an argument to function "_gdbm_mapped_init(GDBM_FILE)". + + + +diff -up gdbm-1.10/src/flatfile.c.sa1 gdbm-1.10/src/flatfile.c +--- gdbm-1.10/src/flatfile.c.sa1 2012-12-10 15:45:41.835009811 +0100 ++++ gdbm-1.10/src/flatfile.c 2012-12-10 15:55:22.650480928 +0100 +@@ -106,6 +106,7 @@ gdbm_export (GDBM_FILE dbf, const char * + + write_fail: + ++ close (nfd); + gdbm_errno = GDBM_FILE_WRITE_ERROR; + return -1; + } +@@ -166,6 +167,7 @@ gdbm_import (GDBM_FILE dbf, const char * + { + gdbm_errno = GDBM_MALLOC_ERROR; + close (ifd); ++ free(kbuffer); + return -1; + } + +@@ -185,6 +187,7 @@ gdbm_import (GDBM_FILE dbf, const char * + { + gdbm_errno = GDBM_MALLOC_ERROR; + close (ifd); ++ free(dbuffer); + return -1; + } + } +@@ -228,6 +231,11 @@ gdbm_import (GDBM_FILE dbf, const char * + count++; + } + ++ if (kbuffer != NULL) ++ free (kbuffer); ++ if (dbuffer != NULL) ++ free (dbuffer); ++ + close (ifd); + return count; + +diff -up gdbm-1.10/src/gdbmreorg.c.sa1 gdbm-1.10/src/gdbmreorg.c +--- gdbm-1.10/src/gdbmreorg.c.sa1 2012-12-10 16:12:23.818314970 +0100 ++++ gdbm-1.10/src/gdbmreorg.c 2012-12-10 16:12:30.947320804 +0100 +@@ -184,12 +184,6 @@ gdbm_reorganize (GDBM_FILE dbf) + free (dbf->bucket_cache); + } + +-#if HAVE_MMAP +- /* Re-initialize mapping if required */ +- if (dbf->memory_mapping) +- _gdbm_mapped_init (dbf); +-#endif +- + dbf->desc = new_dbf->desc; + dbf->header = new_dbf->header; + dbf->dir = new_dbf->dir; +@@ -203,6 +197,12 @@ gdbm_reorganize (GDBM_FILE dbf) + dbf->bucket_changed = new_dbf->bucket_changed; + dbf->second_changed = new_dbf->second_changed; + ++#if HAVE_MMAP ++ /* Re-initialize mapping if required */ ++ if (dbf->memory_mapping) ++ _gdbm_mapped_init (dbf); ++#endif ++ + free (new_dbf->name); + free (new_dbf); + free (new_name); diff --git a/SPECS/gdbm.spec b/SPECS/gdbm.spec new file mode 100644 index 0000000..b36dfc7 --- /dev/null +++ b/SPECS/gdbm.spec @@ -0,0 +1,314 @@ +%bcond_with largefile +Summary: A GNU set of database routines which use extensible hashing +Name: gdbm +Version: 1.10 +Release: 6%{?dist} +Source: http://ftp.gnu.org/gnu/gdbm/gdbm-%{version}.tar.gz +# Prevent gdbm from storing uninitialized memory content +# to database files. +# The change allows Valgrind users to debug their packages without +# dealing with gdbm-related noise. It also improves security, as +# the uninitialized memory might contain sensitive informations +# from other applications. The patch is taken from Debian. +# See https://bugzilla.redhat.com/show_bug.cgi?id=4457 +# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=208927 +Patch0: gdbm-1.10-zeroheaders.patch +Patch1: gdbm-1.10-fedora.patch +Patch2: gdbm-sa1.patch +Patch3: gdbm-aarch64.patch +License: GPLv3+ +URL: http://www.gnu.org/software/gdbm/ +Group: System Environment/Libraries +BuildRequires: libtool +BuildRequires: gettext + +%description +Gdbm is a GNU database indexing library, including routines which use +extensible hashing. Gdbm works in a similar way to standard UNIX dbm +routines. Gdbm is useful for developers who write C applications and +need access to a simple and efficient database or who are building C +applications which will use such a database. + +If you're a C developer and your programs need access to simple +database routines, you should install gdbm. You'll also need to +install gdbm-devel. + +%package devel +Summary: Development libraries and header files for the gdbm library +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires(post): info +Requires(preun): info + +%description devel +Gdbm-devel contains the development libraries and header files for +gdbm, the GNU database system. These libraries and header files are +necessary if you plan to do development using the gdbm database. + +Install gdbm-devel if you are developing C programs which will use the +gdbm database library. You'll also need to install the gdbm package. + +%prep +%setup -q +%patch0 -p1 -b .zeroheaders +%patch1 -p1 -b .fedora +%patch2 -p1 -b .sa1 +%patch3 -p1 -b .aarch64 + +%build +%configure \ + --disable-static \ +%{!?with_largefile: --disable-largefile} \ + --enable-libgdbm-compat + +make %{?_smp_mflags} + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +%find_lang %{name} + +# create symlinks for compatibility +mkdir -p $RPM_BUILD_ROOT/%{_includedir}/gdbm +ln -sf ../gdbm.h $RPM_BUILD_ROOT/%{_includedir}/gdbm/gdbm.h +ln -sf ../ndbm.h $RPM_BUILD_ROOT/%{_includedir}/gdbm/ndbm.h +ln -sf ../dbm.h $RPM_BUILD_ROOT/%{_includedir}/gdbm/dbm.h + +rm -f $RPM_BUILD_ROOT/%{_libdir}/libgdbm.la +rm -f $RPM_BUILD_ROOT/%{_libdir}/libgdbm_compat.la + +rm -f $RPM_BUILD_ROOT/%{_infodir}/dir + +%check +make check + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +/sbin/install-info %{_infodir}/gdbm.info.gz %{_infodir}/dir \ + --entry="* gdbm: (gdbm). The GNU Database." || : + +%preun devel +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/gdbm.info.gz %{_infodir}/dir \ + --entry="* gdbm: (gdbm). The GNU Database." || : +fi + +%files -f %{name}.lang +%doc COPYING NEWS README THANKS AUTHORS NOTE-WARNING +%{_libdir}/libgdbm.so.4* +%{_libdir}/libgdbm_compat.so.4* +%{_bindir}/testgdbm + +%files devel +%{_libdir}/libgdbm.so +%{_libdir}/libgdbm_compat.so +%{_includedir}/* +%{_infodir}/*.info* +%{_mandir}/man3/* + +%changelog +* Mon Mar 25 2013 Honza Horak - 1.10-6 +- Fixed some issues found by Coverity +- Add support of aarch64 + +* Wed Feb 13 2013 Fedora Release Engineering - 1.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Aug 27 2012 Honza Horak - 1.10-4 +- Spec file cleanup +- Use make DESTDIR=... install instead of %%make_install + +* Thu Jul 19 2012 Fedora Release Engineering - 1.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Nov 14 2011 Honza Horak - 1.10-1 +- Updated to new upstream release 1.10 +- Dropped -shortread patch, which has been already applied by upstream +- Disable large file support, that is enabled by default since 1.9, + but not compatible with db files created using gdbm-1.8.3 and lower +- License change to GPLv3+ +- Add doc files THANKS AUTHORS NOTE-WARNING +- Changed text in NOTE-WARNING to correspond with build settings + +* Tue Sep 20 2011 Honza Horak - 1.9.1-1 +- Updated to new upstream release 1.9.1 +- Dropped -filestruct, -ndbmlock and -fhs patches, they are not + needed anymore and GDBM_NOLOCK is used always +- Run testsuite + +* Tue Feb 08 2011 Fedora Release Engineering - 1.8.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jan 13 2011 Jan Horak - 1.8.3-8 +- Added filestruct patch (#668178) + +* Mon Jan 03 2011 Karel Klic - 1.8.3-7 +- Removed BuildRoot tag +- Removed %%clean section +- Added ndbmlock patch (#663932) + +* Mon Apr 12 2010 Karel Klic - 1.8.3-6 +- Use fcntl instead of flock for locking to make nfs safe (#477300) + +* Thu Mar 11 2010 Karel Klic - 1.8.3-5 +- Removed fake Provides: libgdbm.so.2 and corresponding symlinks +- Moved autoconf, libtoolize from %%build to %%prep section +- Remove static builds from the devel package (#556050) + +* Thu Mar 11 2010 Karel Klic - 1.8.3-4 +- Provides: libgdbm.so.2()(64bit) for x86_64 architecture + +* Thu Mar 11 2010 Karel Klic - 1.8.3-3 +- Added temporary symlinks to retain compatibility with gdbm 1.8.0 + +* Wed Mar 10 2010 Rex Dieter - 1.8.3-2 +- %%files: track shlib sonames, so abi breaks are less of a surprise + +* Tue Mar 09 2010 Karel Klic - 1.8.3-1 +- Newer upstream release +- Removed gdbm-1.8.0-64offset.patch, because it was merged by the upstream +- `jbj' patch extended and renamed to `zeroheaders' +- Added shortread patch from Debian + +* Fri Jul 24 2009 Fedora Release Engineering - 1.8.0-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 17 2009 Stepan Kasal - 1.8.0-32 +- Clean up the spec, for merge review. + +* Fri Feb 27 2009 Stepan Kasal - 1.8.0-31 +- drop *-cflags.patch, move all makefile fixes to *-fhs.patch +- propagate libdir to Makefile; no need to set it on cmdline + +* Tue Feb 24 2009 Fedora Release Engineering - 1.8.0-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Jul 21 2008 Tom "spot" Callaway - 1.8.0-29 +- fix license tag + +* Tue Feb 19 2008 Fedora Release Engineering - 1.8.0-28 +- Autorebuild for GCC 4.3 + +* Tue Apr 3 2007 Ondrej Dvoracek - 1.8.0-27 +- made install-info use in scriptlets safe (#223688) + +* Wed Jul 12 2006 Jesse Keating - 1.8.0-26.2.1 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 1.8.0-26.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.8.0-26.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Tue Jan 24 2006 Warren Togami 1.8.0-26 +- remove .la (#171535) + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Sat Apr 09 2005 Florian La Roche +- rebuild + +* Sun Aug 8 2004 Alan Cox 1.8.0-24 +- Close bug #125319 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Fri Oct 4 2002 Nalin Dahyabhai 1.8.0-19 +- rebuild + +* Fri Sep 13 2002 Nalin Dahyabhai 1.8.0-18.1 +- run make with libdir overridden so that it has the value passed to configure + instead of $(prefix)/lib + +* Wed Jul 24 2002 Trond Eivind Glomsrød 1.8.0-18 +- Remove cflags for large database support - not compatible + with databases without it + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Thu Apr 25 2002 Trond Eivind Glomsrød 1.8.0-15 +- Use 64bit offset +- Patch to make the above not break from downsj@downsj.com (#63980) + +* Tue Feb 26 2002 Trond Eivind Glomsrød 1.8.0-14 +- Rebuild + +* Fri Jan 25 2002 Trond Eivind Glomsrød 1.8.0-13 +- Update location +- auto* changes to make it build + +* Wed Oct 17 2001 Trond Eivind Glomsrød 1.8.0-11 +- Add URL (# 54607) + +* Mon Jun 25 2001 Nalin Dahyabhai +- s/Copyright:/License:/g +- include text docs in binary package + +* Tue Jun 12 2001 Than Ngo +- fix to build against new libtool + +* Mon Mar 19 2001 Trond Eivind Glomsrød +- Make it respect RPM_OPT_FLAGS/CFLAGS - #32242. + Patch from dan@D00M.cmc.msu.ru + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Mon Jun 5 2000 Jeff Johnson +- FHS packaging. + +* Mon Feb 7 2000 Bill Nottingham +- handle compressed manpages + +* Tue Aug 10 1999 Jeff Johnson +- make sure created database header is initialized (#4457). + +* Tue Jun 1 1999 Jeff Johnson +- update to 1.8.0. +- repackage to include /usr/include/gdbm/*dbm.h compatibility includes. + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 19) + +* Thu Dec 17 1998 Cristian Gafton +- build against glibc 2.1 + +* Thu May 07 1998 Prospector System +- translations modified for de, fr, tr + +* Thu Apr 30 1998 Cristian Gafton +- gdbm-devel moved to Development/Libraries + +* Wed Apr 08 1998 Cristian Gafton +- buildroot and built for Manhattan + +* Tue Oct 14 1997 Donnie Barnes +- spec file cleanups + +* Thu Jun 12 1997 Erik Troan +- built against glibc