diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/abilist.awk | 67 | ||||
-rwxr-xr-x | scripts/check-c++-types.sh | 4 | ||||
-rwxr-xr-x | scripts/check-local-headers.sh | 4 | ||||
-rwxr-xr-x | scripts/config.guess | 61 | ||||
-rwxr-xr-x | scripts/config.sub | 51 | ||||
-rwxr-xr-x | scripts/cpp | 2 | ||||
-rwxr-xr-x | scripts/cross-test-ssh.sh | 4 | ||||
-rw-r--r-- | scripts/documented.sh | 2 | ||||
-rwxr-xr-x | scripts/evaluate-test.sh | 4 | ||||
-rw-r--r-- | scripts/gen-libc-abis | 2 | ||||
-rwxr-xr-x | scripts/gen-sorted.awk | 4 | ||||
-rwxr-xr-x | scripts/list-fixed-bugs.py | 64 | ||||
-rw-r--r-- | scripts/localplt.awk | 2 | ||||
-rwxr-xr-x | scripts/merge-test-results.sh | 4 | ||||
-rwxr-xr-x | scripts/move-if-change | 2 | ||||
-rw-r--r-- | scripts/pylintrc | 2 | ||||
-rwxr-xr-x | scripts/rellns-sh | 22 | ||||
-rwxr-xr-x | scripts/rpm2dynsym.sh | 36 | ||||
-rw-r--r-- | scripts/sysd-rules.awk | 2 | ||||
-rwxr-xr-x | scripts/test-installation.pl | 19 | ||||
-rw-r--r-- | scripts/update-abilist.sh | 66 | ||||
-rwxr-xr-x | scripts/update-copyrights | 4 | ||||
-rw-r--r-- | scripts/versionlist.awk | 2 | ||||
-rw-r--r-- | scripts/versions.awk | 2 |
24 files changed, 263 insertions, 169 deletions
diff --git a/scripts/abilist.awk b/scripts/abilist.awk index 52b5b32b75..bd740d4693 100644 --- a/scripts/abilist.awk +++ b/scripts/abilist.awk @@ -100,17 +100,13 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) { # Disabled -- weakness should not matter to shared library ABIs any more. #if (weak == "w") type = tolower(type); if (desc == "") - desc = " " symbol " " type size; + desc = symbol " " type size; if (combine) version = soname " " version (combine_fullname ? " " sofullname : ""); - if (version in versions) { - versions[version] = versions[version] "\n" desc; - } - else { - versions[version] = desc; - } + # Append to the string which collects the results. + descs = descs version " " desc "\n"; next; } @@ -126,65 +122,20 @@ function emit(end) { return; tofile = parse_names && !combine; - nverslist = 0; - for (version in versions) { - if (nverslist == 0) { - verslist = version; - nverslist = 1; - continue; - } - split(verslist, s, "\n"); - if (version < s[1]) { - verslist = version; - for (i = 1; i <= nverslist; ++i) { - verslist = verslist "\n" s[i]; - } - } - else { - verslist = s[1]; - for (i = 2; i <= nverslist; ++i) { - if (version < s[i]) break; - verslist = verslist "\n" s[i]; - } - verslist = verslist "\n" version; - for (; i <= nverslist; ++i) { - verslist = verslist "\n" s[i]; - } - } - ++nverslist; - } - if (tofile) { out = prefix soname ".symlist"; if (soname in outfiles) out = out "." ++outfiles[soname]; else outfiles[soname] = 1; - printf "" > out; + outpipe = "LC_ALL=C sort -u > " out; + } else { + outpipe = "LC_ALL=C sort -u"; } - split(verslist, order, "\n"); - for (i = 1; i <= nverslist; ++i) { - version = order[i]; - - if (tofile) { - print version >> out; - close(out); - outpipe = "sort >> " out; - } - else { - if (combine) - print ""; - print prefix version; - outpipe = "sort"; - } - print versions[version] | outpipe; - close(outpipe); - - delete versions[version]; - } - for (version in versions) - delete versions[version]; + printf "%s", descs | outpipe; + + descs = ""; if (tofile) print "wrote", out, "for", sofullname; diff --git a/scripts/check-c++-types.sh b/scripts/check-c++-types.sh index 97e9c460ec..489c4f066f 100755 --- a/scripts/check-c++-types.sh +++ b/scripts/check-c++-types.sh @@ -1,5 +1,5 @@ -#! /bin/bash -# Copyright (C) 2003-2015 Free Software Foundation, Inc. +#!/bin/bash +# Copyright (C) 2003-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or diff --git a/scripts/check-local-headers.sh b/scripts/check-local-headers.sh index a726969172..0a967bb5ce 100755 --- a/scripts/check-local-headers.sh +++ b/scripts/check-local-headers.sh @@ -1,5 +1,5 @@ -#! /bin/bash -# Copyright (C) 2005-2015 Free Software Foundation, Inc. +#!/bin/bash +# Copyright (C) 2005-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or diff --git a/scripts/config.guess b/scripts/config.guess index 1f5c50c0d1..dcd5149681 100755 --- a/scripts/config.guess +++ b/scripts/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2016-01-01' # 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 @@ -24,12 +24,12 @@ timestamp='2014-03-23' # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to <config-patches@gnu.org>. me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2016 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." @@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -579,8 +596,9 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -932,6 +950,9 @@ EOF crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -944,6 +965,9 @@ EOF ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -1020,7 +1044,7 @@ EOF echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} @@ -1099,7 +1123,7 @@ EOF # 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 + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1369,6 +1393,9 @@ EOF x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; esac cat >&2 <<EOF @@ -1378,9 +1405,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/scripts/config.sub b/scripts/config.sub index d654d03cdc..da6d1b6826 100755 --- a/scripts/config.sub +++ b/scripts/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2014-05-01' +timestamp='2016-01-01' # 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 @@ -25,7 +25,7 @@ timestamp='2014-05-01' # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to <config-patches@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -33,7 +33,7 @@ timestamp='2014-05-01' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -53,8 +53,7 @@ timestamp='2014-05-01' me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. @@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2016 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." @@ -117,7 +116,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os @@ -255,12 +254,13 @@ case $basic_machine in | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ @@ -302,9 +302,10 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | riscv32 | riscv64 \ | 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 \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -312,6 +313,7 @@ case $basic_machine in | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -326,6 +328,9 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none @@ -371,12 +376,13 @@ case $basic_machine in | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ @@ -423,12 +429,13 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | 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-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -436,6 +443,7 @@ case $basic_machine in | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -512,6 +520,9 @@ case $basic_machine in basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -773,6 +784,9 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux @@ -828,6 +842,10 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -1360,7 +1378,7 @@ case $os in | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ @@ -1373,14 +1391,15 @@ case $os in | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) diff --git a/scripts/cpp b/scripts/cpp index 65f273ee48..cb24fe2bba 100755 --- a/scripts/cpp +++ b/scripts/cpp @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # This script is used solely by rpcgen when run by sunrpc/Makefile, # which passes CPP in the environment to tell us what to run. diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh index c64545a27a..73c4e3ea0f 100755 --- a/scripts/cross-test-ssh.sh +++ b/scripts/cross-test-ssh.sh @@ -1,6 +1,6 @@ -#! /bin/bash +#!/bin/bash # Run a testcase on a remote system, via ssh. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or diff --git a/scripts/documented.sh b/scripts/documented.sh index a0399872b7..047a1d3493 100644 --- a/scripts/documented.sh +++ b/scripts/documented.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh bindir=$1 VERSION=1.0 diff --git a/scripts/evaluate-test.sh b/scripts/evaluate-test.sh index ad4da6e575..f2c85ed192 100755 --- a/scripts/evaluate-test.sh +++ b/scripts/evaluate-test.sh @@ -1,6 +1,6 @@ -#! /bin/sh +#!/bin/sh # Output a test status line. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or diff --git a/scripts/gen-libc-abis b/scripts/gen-libc-abis index ce9ac5e20d..c5537645dc 100644 --- a/scripts/gen-libc-abis +++ b/scripts/gen-libc-abis @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh triple="$1" printf "#ifndef _LIBC_ABIS_H\n#define _LIBC_ABIS_H 1\n\n" diff --git a/scripts/gen-sorted.awk b/scripts/gen-sorted.awk index 5e7238304c..9669277b31 100755 --- a/scripts/gen-sorted.awk +++ b/scripts/gen-sorted.awk @@ -1,7 +1,7 @@ -#! /usr/bin/awk -f +#!/usr/bin/awk -f # Generate sorted list of directories. The sorting is stable but with # dependencies between directories resolved by moving dependees in front. -# Copyright (C) 1998-2015 Free Software Foundation, Inc. +# Copyright (C) 1998-2016 Free Software Foundation, Inc. # Written by Ulrich Drepper <drepper@cygnus.com>, 1998. BEGIN { diff --git a/scripts/list-fixed-bugs.py b/scripts/list-fixed-bugs.py new file mode 100755 index 0000000000..51f3c36e69 --- /dev/null +++ b/scripts/list-fixed-bugs.py @@ -0,0 +1,64 @@ +#!/usr/bin/python3 +# Copyright (C) 2015-2016 Free Software Foundation, Inc. +# This file is part of the GNU C Library. +# +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# <http://www.gnu.org/licenses/>. + +"""List fixed bugs for the NEWS file. + +This script takes a version number as input and generates a list of +bugs marked as FIXED with that milestone, to be added to the NEWS file +just before release. The output is in UTF-8. +""" + +import argparse +import json +import sys +import textwrap +import urllib.request + + +def get_parser(): + """Return an argument parser for this module.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('version', + help='Release version to look up') + return parser + + +def list_fixed_bugs(version): + """List the bugs fixed in a given version.""" + url = ('https://sourceware.org/bugzilla/rest.cgi/bug?product=glibc' + '&resolution=FIXED&target_milestone=%s' + '&include_fields=id,component,summary' % version) + response = urllib.request.urlopen(url) + json_data = response.read().decode('utf-8') + data = json.loads(json_data) + for bug in data['bugs']: + desc = '[%d] %s: %s' % (bug['id'], bug['component'], bug['summary']) + desc = textwrap.fill(desc, width=76, initial_indent=' ', + subsequent_indent=' ') + '\n' + sys.stdout.buffer.write(desc.encode('utf-8')) + + +def main(argv): + """The main entry point.""" + parser = get_parser() + opts = parser.parse_args(argv) + list_fixed_bugs(opts.version) + + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/scripts/localplt.awk b/scripts/localplt.awk index f75b3b427b..beaa342922 100644 --- a/scripts/localplt.awk +++ b/scripts/localplt.awk @@ -7,7 +7,7 @@ BEGIN { result = 0 } FILENAME != lastfile { - if (lastfile && jmprel_offset == 0) { + if (lastfile && jmprel_offset == 0 && rela_offset == 0 && rel_offset == 0) { print FILENAME ": *** failed to find expected output (readelf -WSdr)"; result = 2; } diff --git a/scripts/merge-test-results.sh b/scripts/merge-test-results.sh index 40770a1c07..1175b20717 100755 --- a/scripts/merge-test-results.sh +++ b/scripts/merge-test-results.sh @@ -1,6 +1,6 @@ -#! /bin/sh +#!/bin/sh # Merge test results of individual tests or subdirectories. -# Copyright (C) 2014-2015 Free Software Foundation, Inc. +# Copyright (C) 2014-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or diff --git a/scripts/move-if-change b/scripts/move-if-change index 88d9574564..cd744a92f3 100755 --- a/scripts/move-if-change +++ b/scripts/move-if-change @@ -8,7 +8,7 @@ VERSION='2012-01-06 07:23'; # UTC # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2016 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/pylintrc b/scripts/pylintrc index a05ddfd2c8..c92f100b4b 100644 --- a/scripts/pylintrc +++ b/scripts/pylintrc @@ -54,7 +54,7 @@ output-format=text files-output=no # Tells whether to display a full report or only the messages -reports=yes +reports=no # Python expression which should return a note less than 10 (10 is the highest # note). You have access to the variables errors warning, statement which diff --git a/scripts/rellns-sh b/scripts/rellns-sh index f1074339db..a57f601a90 100755 --- a/scripts/rellns-sh +++ b/scripts/rellns-sh @@ -1,6 +1,6 @@ -#! /bin/sh +#!/bin/sh # rellns-sh - Simplified ln program to generate relative symbolic link. -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2016 Free Software Foundation, Inc. # Written by Ulrich Drepper <drepper@cygnus.com>, October 1996 # # This program is free software; you can redistribute it and/or modify @@ -30,23 +30,15 @@ if test $# -ne 2; then exit 1 fi -if test -x /bin/pwd; then - pwd=/bin/pwd -elif test -x /usr/bin/pwd; then - pwd=/usr/bin/pwd -else - pwd='pwd' -fi - # Make both paths absolute. if test -d $1; then - to=`cd $1 && $pwd` + to=`cd $1 && pwd -P` else temp=`echo $1 | sed 's%/*[^/]*$%%'` if test -z "$temp"; then - to=`$pwd` + to=`pwd -P` else - to=`cd $temp && $pwd` + to=`cd $temp && pwd -P` fi to="$to/`echo $1 | sed 's%.*/\([^/][^/]*\)$%\1%'`" fi @@ -59,9 +51,9 @@ else fi if test -z "$from"; then - from=`$pwd | sed 's%^/%%'` + from=`pwd -P | sed 's%^/%%'` else - from=`cd $from && $pwd | sed 's%^/%%'` + from=`cd $from && pwd -P | sed 's%^/%%'` fi while test -n "$to" && test -n "$from"; do diff --git a/scripts/rpm2dynsym.sh b/scripts/rpm2dynsym.sh deleted file mode 100755 index ce3fc4030a..0000000000 --- a/scripts/rpm2dynsym.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -# This script takes rpm package files, finds *.so.N files in them, -# and runs objdump --dynamic-syms on them. The arguments are rpm file -# names. For each rpm, it creates an output file with the name -# "NAME-VERSION-RELEASE.ARCH.dynsym", the variable parts being extracted -# from the rpm's headers (not its file name). Each file contains the -# collected objdump output for all the *.so.N files in the corresponding rpm. -# This can be processed with abilist.awk or sent to someone who will do that. -# This does not do a lot of error-checking, so you should always watch stderr -# and sanity-check the resulting output files. - -RPM=${RPM:-rpm} -RPM2CPIO=${RPM2CPIO:-rpm2cpio} -CPIO=${CPIO:-cpio} -OBJDUMP=${OBJDUMP:-objdump} - -unpackdir=/tmp/rpm2dynsym$$ -trap 'rm -rf $unpackdir' 0 1 2 15 - -for rpm; do - name=`$RPM -qp $rpm --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n'` - mkdir $unpackdir || exit - $RPM2CPIO "$rpm" | { - cd $unpackdir - $CPIO -i -d --no-absolute-filenames -uv '*.so.*' '*.so' 2>&1 | - while read file b; do - test x"$b" = x || break - case "$file" in - *.so.[0-9]*) $OBJDUMP --dynamic-syms $file ;; - esac - done - } > $name.dynsym - echo wrote $name.dynsym for $rpm - rm -rf $unpackdir -done diff --git a/scripts/sysd-rules.awk b/scripts/sysd-rules.awk index cc143345c6..cebc9d3e1b 100644 --- a/scripts/sysd-rules.awk +++ b/scripts/sysd-rules.awk @@ -53,7 +53,7 @@ BEGIN { if (target_pattern == "%") { command_suffix = ""; } else { - prefix = gensub(/%/, "", "", target_pattern); + prefix = gensub(/%/, "", 1, target_pattern); command_suffix = " $(" prefix "CPPFLAGS)"; } target = "$(objpfx)" target_pattern o ":"; diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl index cac15624dc..5e84dd7184 100755 --- a/scripts/test-installation.pl +++ b/scripts/test-installation.pl @@ -1,5 +1,5 @@ -#! /usr/bin/perl -w -# Copyright (C) 1997-2015 Free Software Foundation, Inc. +#!/usr/bin/perl -w +# Copyright (C) 1997-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1997. @@ -59,7 +59,7 @@ arglist: while (@ARGV) { $ARGV[0] eq "--vers" || $ARGV[0] eq "--versi" || $ARGV[0] eq "--versio" || $ARGV[0] eq "--version") { print "test-installation (GNU $PACKAGE)\n"; - print "Copyright (C) 2015 Free Software Foundation, Inc.\n"; + print "Copyright (C) 2016 Free Software Foundation, Inc.\n"; print "This is free software; see the source for copying conditions. There is NO\n"; print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; print "Written by Andreas Jaeger <aj\@arthur.rhein-neckar.de>\n"; @@ -80,16 +80,25 @@ arglist: while (@ARGV) { # We expect none or one argument. if ($#ARGV == -1) { $soversions="soversions.mk"; + $config="config.make"; } elsif ($#ARGV == 0) { if (-d $ARGV[0]) { $soversions = "$ARGV[0]/soversions.mk"; + $config = "$ARGV[0]/config.make"; } else { - $soversions = $ARGV[0]; + $soversions = $dir = $ARGV[0]; + $dir =~ s!/?[^/]*/*$!!; + $config = $dir . "/config.make"; } } else { die "Wrong number of arguments."; } +if (system ("grep -q \"build-mathvec = yes\" $config") == 0) { + $build_mathvec = 1; +} else { + $build_mathvec = 0; +} # Read names and versions of all shared libraries that are part of # glibc @@ -111,6 +120,8 @@ while (<SOVERSIONS>) { # - libthread_db since it contains unresolved references # - it's just a test NSS module # - We don't provide the libgcc so we don't test it + # - libmvec if it wasn't built + next if ($build_mathvec == 0 && $name eq "mvec"); if ($name ne "nss_ldap" && $name ne "db1" && !($name =~/^nss1_/) && $name ne "thread_db" && $name ne "nss_test1" && $name ne "libgcc_s") { diff --git a/scripts/update-abilist.sh b/scripts/update-abilist.sh new file mode 100644 index 0000000000..f9ffb954f9 --- /dev/null +++ b/scripts/update-abilist.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# Update abilist files based on differences on one architecture. +# Copyright (C) 2015-2016 Free Software Foundation, Inc. +# This file is part of the GNU C Library. +# +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# <http://www.gnu.org/licenses/>. + +set -e +export LC_ALL=C + +if [ $# -lt 3 ]; then + echo "usage: $0 OLD-FILE NEW-FILE FILES-TO-BE-PATCHED..." 1>&2 + exit 2 +fi + +old_file="$1" +shift +new_file="$1" +shift + +tmp_old_sorted="$(mktemp)" +tmp_new_sorted="$(mktemp)" +tmp_new_symbols="$(mktemp)" +tmp_patched="$(mktemp)" + +cleanup () { + rm -f -- "$tmp_old_sorted" "$tmp_new_sorted" \ + "$tmp_new_symbols" "$tmp_patched" +} + +trap cleanup 0 + +sort -u -o "$tmp_old_sorted" -- "$old_file" +sort -u -o "$tmp_new_sorted" -- "$new_file" + +# -1 skips symbols only in $old_file (deleted symbols). +# -3 skips symbols in both files (unchanged symbols). +comm -1 -3 "$tmp_old_sorted" "$tmp_new_sorted" > "$tmp_new_symbols" + +new_symbol_count="$(wc -l < "$tmp_new_symbols")" +if [ "$new_symbol_count" -eq 0 ]; then + echo "info: no symbols added" 1>&2 + exit 0 +fi + +echo "info: $new_symbol_count symbol(s) added" 1>&2 + +for to_be_patched in "$@" ; do + sort -u -o "$tmp_patched" -- "$to_be_patched" "$tmp_new_symbols" + if ! cmp -s -- "$to_be_patched" "$tmp_patched"; then + echo "info: updating $to_be_patched" 1>&2 + cp -- "$tmp_patched" "$to_be_patched" + fi +done diff --git a/scripts/update-copyrights b/scripts/update-copyrights index 1cfbb786d1..588041ce86 100755 --- a/scripts/update-copyrights +++ b/scripts/update-copyrights @@ -1,6 +1,6 @@ -#! /bin/sh +#!/bin/sh # Update copyright year lists. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or diff --git a/scripts/versionlist.awk b/scripts/versionlist.awk index e7ef2124b7..a9908033fa 100644 --- a/scripts/versionlist.awk +++ b/scripts/versionlist.awk @@ -1,5 +1,5 @@ # Extract ordered list of version sets from Versions files. -# Copyright (C) 2014-2015 Free Software Foundation, Inc. +# Copyright (C) 2014-2016 Free Software Foundation, Inc. BEGIN { in_lib = ""; in_version = 0 } diff --git a/scripts/versions.awk b/scripts/versions.awk index cc5444b3a5..408f7d06fb 100644 --- a/scripts/versions.awk +++ b/scripts/versions.awk @@ -1,5 +1,5 @@ # Combine version map fragments into version scripts for our shared objects. -# Copyright (C) 1998-2015 Free Software Foundation, Inc. +# Copyright (C) 1998-2016 Free Software Foundation, Inc. # Written by Ulrich Drepper <drepper@cygnus.com>, 1998. # This script expects the following variables to be defined: |