###############################################################################
name = binutils
-version = 2.22.52.0.4
-release = 2
+version = 2.23.51.0.3
+release = 1
maintainer = Michael Tremer <michael.tremer@ipfire.org>
groups = Development/Tools
dejagnu
flex
gcc-c++
+ pakfire-builder >= 0.9.23-5
texinfo
zlib-devel
end
packages
package %{name}
+ provides
+ bundled(libiberty)
+ end
+ end
package %{name}-devel
template DEVEL
+ requires
+ binutils = %{thisver}
+ zlib-devel
+ end
+
# Don't package libbfd and libopcodes in the -devel package.
files
/usr/include
+++ /dev/null
-https://hardened.gentooexperimental.org/trac/secure/raw-attachment/ticket/33/libiberty.h-asprintf-glibc-2.8.patch
-
---- a/include/libiberty.h.orig 2007-02-09 15:29:21.000000000 +0000
-+++ b/include/libiberty.h 2008-07-25 21:17:25.000000000 +0000
-@@ -554,8 +554,11 @@
- /* Like sprintf but provides a pointer to malloc'd storage, which must
- be freed by the caller. */
-
-+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
-+#ifndef asprintf
- extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
- #endif
-+#endif
-
- #if !HAVE_DECL_VASPRINTF
- /* Like vsprintf but provides a pointer to malloc'd storage, which
+++ /dev/null
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-Index: binutils-2.18/ld/Makefile.am
-===================================================================
---- binutils-2.18.orig/ld/Makefile.am 2007-06-28 09:19:34.837940280 +0200
-+++ binutils-2.18/ld/Makefile.am 2007-06-28 09:19:35.795794664 +0200
-@@ -18,7 +18,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
-Index: binutils-2.18/ld/Makefile.in
-===================================================================
---- binutils-2.18.orig/ld/Makefile.in 2007-06-28 09:19:34.844939216 +0200
-+++ binutils-2.18/ld/Makefile.in 2007-06-28 09:19:35.796794512 +0200
-@@ -287,7 +287,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
+++ /dev/null
-diff --git a/binutils/objcopy.c b/binutils/objcopy.c
-index 9732b86..dec0feb 100644
---- a/binutils/objcopy.c
-+++ b/binutils/objcopy.c
-@@ -2287,6 +2287,18 @@ copy_file (const char *input_filename, const char *output_filename,
-
- status = 1;
- }
-+
-+ if (status == 0)
-+ {
-+ struct stat statbuf;
-+
-+ /* No need to check the return value of stat(). It has already
-+ been checked in get_file_size(). */
-+ stat (input_filename, &statbuf);
-+
-+ /* Try to preserve the permission bits. */
-+ chmod (output_filename, statbuf.st_mode);
-+ }
- }
-
- /* Add a name to the section renaming list. */
-
+++ /dev/null
-Index: binutils-2.19.51.0.5/ld/ld.texinfo
-===================================================================
---- binutils-2.19.51.0.5.orig/ld/ld.texinfo
-+++ binutils-2.19.51.0.5/ld/ld.texinfo
-@@ -2036,8 +2036,9 @@ This linker can create the new dynamic t
- systems may not understand them. If you specify
- @option{--enable-new-dtags}, the dynamic tags will be created as needed.
- If you specify @option{--disable-new-dtags}, no new dynamic tags will be
--created. By default, the new dynamic tags are not created. Note that
--those options are only available for ELF systems.
-+created. On IPFire, by default, the new dynamic tags are created (this
-+differs from upstream behaviour). Note that those options are only
-+available for ELF systems.
-
- @kindex --hash-size=@var{number}
- @item --hash-size=@var{number}
+++ /dev/null
-http://sourceware.org/ml/binutils/2007-07/msg00401.html
-http://sourceware.org/bugzilla/show_bug.cgi?id=4970
-
---- a/configure
-+++ b/configure
-@@ -5601,6 +5601,7 @@ case "${host}" in
- *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
- *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
- esac
-+RPATH_ENVVAR="cant_touch_this_nah_nah_nah"
-
- # On systems where the dynamic library environment variable is PATH,
- if test "$RPATH_ENVVAR" = PATH; then
+++ /dev/null
---- binutils/ld/ldmain.c
-+++ binutils/ld/ldmain.c
-@@ -296,6 +296,7 @@ main (int argc, char **argv)
-
- link_info.allow_undefined_version = TRUE;
- link_info.keep_memory = TRUE;
-+ link_info.new_dtags = TRUE;
- link_info.combreloc = TRUE;
- link_info.strip_discarded = TRUE;
- link_info.callbacks = &link_callbacks;
--- /dev/null
+*** ../binutils-2.20.51.0.10.original/bfd/elf.c 2010-08-10 15:04:55.000000000 +0100
+--- bfd/elf.c 2010-08-10 15:05:42.000000000 +0100
+*************** _bfd_elf_copy_private_bfd_data (bfd *ibf
+*** 1074,1079 ****
+--- 1074,1087 ----
+
+ /* Copy object attributes. */
+ _bfd_elf_copy_obj_attributes (ibfd, obfd);
++
++ /* If the input BFD has the OSABI field set and the
++ output BFD does not, then copy the value. */
++ if (elf_elfheader (ibfd)->e_ident [EI_OSABI] != ELFOSABI_NONE
++ && elf_elfheader (obfd)->e_ident [EI_OSABI] == ELFOSABI_NONE)
++ elf_elfheader (obfd)->e_ident [EI_OSABI] =
++ elf_elfheader (ibfd)->e_ident [EI_OSABI];
++
+ return TRUE;
+ }
+
+++ /dev/null
-diff -Nur binutils-2.22.52.0.4-vanilla/ld/emultempl/armelf.em binutils-2.22.52.0.4/ld/emultempl/armelf.em
---- binutils-2.22.52.0.4-vanilla/ld/emultempl/armelf.em 2012-06-05 18:44:10.000000000 +0200
-+++ binutils-2.22.52.0.4/ld/emultempl/armelf.em 2012-06-08 13:34:30.578427241 +0200
-@@ -52,6 +52,7 @@
- #endif /* not TARGET_ */
- input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
- config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
-+ link_info.relro = TRUE;
- }
-
- static void
-diff -Nur binutils-2.22.52.0.4-vanilla/ld/emultempl/elf32.em binutils-2.22.52.0.4/ld/emultempl/elf32.em
---- binutils-2.22.52.0.4-vanilla/ld/emultempl/elf32.em 2012-06-05 18:44:10.000000000 +0200
-+++ binutils-2.22.52.0.4/ld/emultempl/elf32.em 2012-06-08 13:33:07.090612102 +0200
-@@ -106,6 +106,7 @@
- input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
- config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
- link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`;
-+ link_info.relro = TRUE;
- }
-
- EOF
-diff -Nur binutils-2.22.52.0.4-vanilla/ld/testsuite/config/default.exp binutils-2.22.52.0.4/ld/testsuite/config/default.exp
---- binutils-2.22.52.0.4-vanilla/ld/testsuite/config/default.exp 2012-06-05 18:44:10.000000000 +0200
-+++ binutils-2.22.52.0.4/ld/testsuite/config/default.exp 2012-06-08 13:33:07.085612052 +0200
-@@ -23,7 +23,7 @@
- #
-
- if ![info exists ld] then {
-- set ld [findfile $base_dir/ld-new $base_dir/ld-new [transform ld]]
-+ set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro"
- }
-
- if ![info exists as] then {
-@@ -69,7 +69,7 @@
- catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
- catch "exec ln -s ld tmpdir/ld/collect-ld" status
- }
--set gcc_ld_flag "-B[pwd]/tmpdir/ld/"
-+set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro"
-
- # load the linker path
- if {[file exists tmpdir/libpath.exp]} {
-@@ -279,7 +279,7 @@
- }
-
- if ![info exists LD] then {
-- set LD [findfile $base_dir/ld-new ./ld-new [transform ld]]
-+ set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro"
- }
-
- if ![info exists LDFLAGS] then {
-diff -Nur binutils-2.22.52.0.4-vanilla/ld/testsuite/ld-bootstrap/bootstrap.exp binutils-2.22.52.0.4/ld/testsuite/ld-bootstrap/bootstrap.exp
---- binutils-2.22.52.0.4-vanilla/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-06-05 18:44:10.000000000 +0200
-+++ binutils-2.22.52.0.4/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-06-08 13:33:07.086612062 +0200
-@@ -71,7 +71,13 @@
-
- # This test can only be run if we have the ld build directory,
- # since we need the object files.
-- if {$ld != "$objdir/ld-new"} {
-+ set ldexe $ld
-+ set ldparm [string first " " $ld]
-+ if { $ldparm > 0 } then {
-+ set ldparm [expr $ldparm - 1]
-+ set ldexe [string range $ld 0 $ldparm]
-+ }
-+ if {$ldexe != "$objdir/ld-new"} {
- untested $testname
- continue
- }
--- /dev/null
+diff -cpr ../binutils-2.22.52.0.1.orig/ld/testsuite/config/default.exp ld/testsuite/config/default.exp
+*** ../binutils-2.22.52.0.1.orig/ld/testsuite/config/default.exp 2012-03-06 14:00:31.141957656 +0000
+--- ld/testsuite/config/default.exp 2012-03-06 14:09:33.492940503 +0000
+***************
+*** 23,29 ****
+ #
+
+ if ![info exists ld] then {
+! set ld [findfile $base_dir/ld-new $base_dir/ld-new [transform ld]]
+ }
+
+ if ![info exists as] then {
+--- 23,29 ----
+ #
+
+ if ![info exists ld] then {
+! set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro"
+ }
+
+ if ![info exists as] then {
+*************** if {![file isdirectory tmpdir/ld]} then
+*** 69,75 ****
+ catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
+ catch "exec ln -s ld tmpdir/ld/collect-ld" status
+ }
+! set gcc_ld_flag "-B[pwd]/tmpdir/ld/"
+
+ # load the linker path
+ if {[file exists tmpdir/libpath.exp]} {
+--- 69,75 ----
+ catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
+ catch "exec ln -s ld tmpdir/ld/collect-ld" status
+ }
+! set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro"
+
+ # load the linker path
+ if {[file exists tmpdir/libpath.exp]} {
+*************** if ![info exists READELFFLAGS] then {
+*** 279,285 ****
+ }
+
+ if ![info exists LD] then {
+! set LD [findfile $base_dir/ld-new ./ld-new [transform ld]]
+ }
+
+ if ![info exists LDFLAGS] then {
+--- 279,285 ----
+ }
+
+ if ![info exists LD] then {
+! set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro"
+ }
+
+ if ![info exists LDFLAGS] then {
+diff -cpr ../binutils-2.22.52.0.1.orig/ld/testsuite/ld-bootstrap/bootstrap.exp ld/testsuite/ld-bootstrap/bootstrap.exp
+*** ../binutils-2.22.52.0.1.orig/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-03-06 14:00:30.503957676 +0000
+--- ld/testsuite/ld-bootstrap/bootstrap.exp 2012-03-06 15:03:33.949837926 +0000
+*************** foreach flags {"" "strip" "--static" "--
+*** 71,77 ****
+
+ # This test can only be run if we have the ld build directory,
+ # since we need the object files.
+! if {$ld != "$objdir/ld-new"} {
+ untested $testname
+ continue
+ }
+--- 71,83 ----
+
+ # This test can only be run if we have the ld build directory,
+ # since we need the object files.
+! set ldexe $ld
+! set ldparm [string first " " $ld]
+! if { $ldparm > 0 } then {
+! set ldparm [expr $ldparm - 1]
+! set ldexe [string range $ld 0 $ldparm]
+! }
+! if {$ldexe != "$objdir/ld-new"} {
+ untested $testname
+ continue
+ }
+*** ../binutils-2.22.52.0.2.orig/ld/emultempl/elf32.em 2012-04-30 16:12:52.642766221 +0100
+--- ld/emultempl/elf32.em 2012-04-30 16:13:13.869766905 +0100
+*************** gld${EMULATION_NAME}_before_parse (void)
+*** 106,111 ****
+--- 106,112 ----
+ input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
+ config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
+ link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`;
++ link_info.relro = TRUE;
+ }
+
+ EOF
+++ /dev/null
-making some of the address matches more flexible fixes tests when using
-pax/relro/hash patches
-
---- binutils/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
-+++ binutils/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
-@@ -4,6 +4,6 @@
- #target: x86_64-*-*
-
- #...
--[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
--[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
-+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
-+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
- #pass
---- binutils/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
-+++ binutils/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
-@@ -4,6 +4,6 @@
- #target: x86_64-*-*
-
- #...
--[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
--[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
-+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
-+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
- #pass
--- /dev/null
+*** ../binutils-2.22.52.0.4.orig/bfd/bfd-in.h 2012-08-02 10:56:34.561769686 +0100
+--- bfd/bfd-in.h 2012-08-02 11:13:27.134797755 +0100
+***************
+*** 25,35 ****
+ #ifndef __BFD_H_SEEN__
+ #define __BFD_H_SEEN__
+
+- /* PR 14072: Ensure that config.h is included first. */
+- #if !defined PACKAGE && !defined PACKAGE_VERSION
+- #error config.h must be included before this header
+- #endif
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- 25,30 ----
+*** ../binutils-2.22.52.0.4.orig/bfd/bfd-in2.h 2012-08-02 10:56:34.349769680 +0100
+--- bfd/bfd-in2.h 2012-08-02 11:13:40.015798113 +0100
+***************
+*** 32,42 ****
+ #ifndef __BFD_H_SEEN__
+ #define __BFD_H_SEEN__
+
+- /* PR 14072: Ensure that config.h is included first. */
+- #if !defined PACKAGE && !defined PACKAGE_VERSION
+- #error config.h must be included before this header
+- #endif
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- 32,37 ----
+++ /dev/null
-http://sourceware.org/bugzilla/show_bug.cgi?id=14189
-
-Index: bfd/elf32-arm.c
-===================================================================
-RCS file: /cvs/src/src/bfd/elf32-arm.c,v
-retrieving revision 1.294
-diff -u -3 -p -r1.294 elf32-arm.c
---- bfd/elf32-arm.c 28 Jun 2012 16:57:24 -0000 1.294
-+++ bfd/elf32-arm.c 29 Jun 2012 13:21:52 -0000
-@@ -12668,7 +12668,8 @@ elf32_arm_check_relocs (bfd *abfd, struc
-
- /* If the symbol is a function that doesn't bind locally,
- this relocation will need a PLT entry. */
-- root_plt->refcount += 1;
-+ if (root_plt->refcount != -1)
-+ root_plt->refcount += 1;
-
- if (!call_reloc_p)
- arm_plt->noncall_refcount++;
---- binutils-2.22/bfd/elf-bfd.h
-+++ binutils-2.22/bfd/elf-bfd.h
+--- binutils-2.23.51.0.2/bfd/elf-bfd.h
++++ binutils-2.23.51.0.2/bfd/elf-bfd.h
@@ -1577,6 +1577,9 @@ struct elf_obj_tdata
/* Segment flags for the PT_GNU_STACK segment. */
unsigned int stack_flags;
/* Symbol version definitions in external objects. */
Elf_Internal_Verdef *verdef;
---- binutils-2.22/bfd/elf.c
-+++ binutils-2.22/bfd/elf.c
+--- binutils-2.23.51.0.2/bfd/elf.c
++++ binutils-2.23.51.0.2/bfd/elf.c
@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
case PT_GNU_STACK: pt = "STACK"; break;
&& (segment->p_type != PT_TLS \
|| (section->flags & SEC_THREAD_LOCAL)) \
&& (segment->p_type == PT_LOAD \
---- binutils-2.22/bfd/elflink.c
-+++ binutils-2.22/bfd/elflink.c
+--- binutils-2.23.51.0.2/bfd/elflink.c
++++ binutils-2.23.51.0.2/bfd/elflink.c
@@ -5545,16 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
return TRUE;
notesec = s;
}
else if (bed->default_execstack)
---- binutils-2.22/binutils/readelf.c
-+++ binutils-2.22/binutils/readelf.c
+--- binutils-2.23.51.0.2/binutils/readelf.c
++++ binutils-2.23.51.0.2/binutils/readelf.c
@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
return "GNU_EH_FRAME";
case PT_GNU_STACK: return "GNU_STACK";
default:
if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
---- binutils-2.22/include/bfdlink.h
-+++ binutils-2.22/include/bfdlink.h
+--- binutils-2.23.51.0.2/include/bfdlink.h
++++ binutils-2.23.51.0.2/include/bfdlink.h
@@ -322,6 +322,14 @@ struct bfd_link_info
/* TRUE if PT_GNU_RELRO segment should be created. */
unsigned int relro: 1;
/* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
should be created. */
unsigned int eh_frame_hdr: 1;
---- binutils-2.22/include/elf/common.h
-+++ binutils-2.22/include/elf/common.h
+--- binutils-2.23.51.0.2/include/elf/common.h
++++ binutils-2.23.51.0.2/include/elf/common.h
@@ -429,6 +429,7 @@
#define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */
#define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
/* Values for section header, sh_type field. */
#define SHT_NULL 0 /* Section header table entry unused */
---- binutils-2.22/ld/emultempl/elf32.em
-+++ binutils-2.22/ld/emultempl/elf32.em
+--- binutils-2.23.51.0.2/ld/emultempl/elf32.em
++++ binutils-2.23.51.0.2/ld/emultempl/elf32.em
@@ -2285,6 +2285,16 @@ fragment <<EOF
link_info.noexecstack = TRUE;
link_info.execstack = FALSE;
EOF
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
fragment <<EOF
---- binutils-2.22/ld/ldgram.y
-+++ binutils-2.22/ld/ldgram.y
+--- binutils-2.23.51.0.2/ld/ldgram.y
++++ binutils-2.23.51.0.2/ld/ldgram.y
@@ -1119,6 +1119,8 @@ phdr_type:
$$ = exp_intop (0x6474e550);
else if (strcmp (s, "PT_GNU_STACK") == 0)
else
{
einfo (_("\
---- binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-alpha/tlsbin.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-alpha/tlsbin.rd
@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
---- binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd
-+++ binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-alpha/tlsbinr.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-alpha/tlsbinr.rd
@@ -42,6 +42,7 @@ Program Headers:
+LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
---- binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-alpha/tlspic.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-alpha/tlspic.rd
@@ -38,6 +38,7 @@ Program Headers:
+LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
---- binutils-2.22/ld/testsuite/ld-elf/eh1.d
-+++ binutils-2.22/ld/testsuite/ld-elf/eh1.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-elf/eh1.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-elf/eh1.d
@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
DW_CFA_def_cfa_register: r6 \(rbp\)
00000038 ZERO terminator
---- binutils-2.22/ld/testsuite/ld-elf/eh2.d
-+++ binutils-2.22/ld/testsuite/ld-elf/eh2.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-elf/eh2.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-elf/eh2.d
@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
DW_CFA_def_cfa_register: r6 \(rbp\)
00000038 ZERO terminator
---- binutils-2.22/ld/testsuite/ld-elf/eh3.d
-+++ binutils-2.22/ld/testsuite/ld-elf/eh3.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-elf/eh3.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-elf/eh3.d
@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
DW_CFA_def_cfa_register: r6 \(rbp\)
00000038 ZERO terminator
---- binutils-2.22/ld/testsuite/ld-elf/orphan-region.d
-+++ binutils-2.22/ld/testsuite/ld-elf/orphan-region.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-elf/orphan-region.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-elf/orphan-region.d
@@ -15,7 +15,9 @@
Program Headers:
Type.*
Segment Sections...
00 .text .rodata .moredata *
+ 01 +
---- binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsbin.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsbin.rd
@@ -44,6 +44,7 @@ Program Headers:
+LOAD.*
+DYNAMIC.*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsbindesc.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsbindesc.rd
@@ -42,6 +42,7 @@ Program Headers:
+LOAD.*
+DYNAMIC.*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsdesc.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsdesc.rd
@@ -39,6 +39,7 @@ Program Headers:
+LOAD.*
+DYNAMIC.*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsgdesc.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsgdesc.rd
@@ -36,12 +36,14 @@ Program Headers:
+LOAD.*
+LOAD.*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsnopic.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlsnopic.rd
@@ -37,6 +37,7 @@ Program Headers:
+LOAD.*
+DYNAMIC.*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlspic.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlspic.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-i386/tlspic.rd
@@ -40,6 +40,7 @@ Program Headers:
+LOAD.*
+DYNAMIC.*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-ia64/merge1.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge1.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge1.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge1.d
@@ -4,7 +4,7 @@
#objdump: -d
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge2.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge2.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge2.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge2.d
@@ -4,7 +4,7 @@
#objdump: -d
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge3.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge3.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge3.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge3.d
@@ -4,7 +4,7 @@
#objdump: -d
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge4.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge4.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge4.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge4.d
@@ -4,7 +4,7 @@
#objdump: -d
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge5.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge5.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge5.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/merge5.d
@@ -4,7 +4,7 @@
#objdump: -d
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/tlsbin.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/tlsbin.rd
@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
+IA_64_UNWIND .* R +0x8
#...
---- binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-ia64/tlspic.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-ia64/tlspic.rd
@@ -40,6 +40,7 @@ Program Headers:
+LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
+DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
+IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
#...
---- binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
@@ -8,9 +8,9 @@
.*: +file format.*
#...
00408d60 <[^>]*> 3c1c0043 lui gp,0x43
00408d64 <[^>]*> 279c2c98 addiu gp,gp,11416
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
@@ -1,7 +1,7 @@
Elf file type is DYN \(Shared object file\)
*0*3 * \.dynamic *
*0*4 *
+ *0*5 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
@@ -1,7 +1,7 @@
Elf file type is EXEC \(Executable file\)
*0*6 *\.dynamic *
*0*7 *
+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
@@ -1,7 +1,7 @@
Elf file type is EXEC \(Executable file\)
*0*6 * \.dynamic *
*0*7 *
+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
@@ -1,7 +1,7 @@
Elf file type is EXEC \(Executable file\)
*0*6 * \.dynamic *
*0*7 *
+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
@@ -1,7 +1,7 @@
Elf file type is EXEC \(Executable file\)
*0*6 * \.dynamic *
*0*7 *
+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
@@ -1,7 +1,7 @@
Elf file type is EXEC \(Executable file\)
*0*5 * \.dynamic *
*0*6 *
+ *0*7 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
@@ -1,7 +1,7 @@
Elf file type is EXEC \(Executable file\)
*0*6 * \.dynamic *
*0*7 *
+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/rel32-n32.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/rel32-n32.d
-@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
- [0-9a-f ]+R_MIPS_REL32
-
- Hex dump of section '.text':
-- 0x000002e0 00000000 00000000 00000000 00000000 ................
-- 0x000002f0 000002f0 00000000 00000000 00000000 ................
- 0x00000300 00000000 00000000 00000000 00000000 ................
-+ 0x00000310 00000310 00000000 00000000 00000000 ................
-+ 0x00000320 00000000 00000000 00000000 00000000 ................
---- binutils-2.22/ld/testsuite/ld-mips-elf/rel32-o32.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/rel32-o32.d
-@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
- [0-9a-f ]+R_MIPS_REL32
-
- Hex dump of section '.text':
-- 0x000002e0 00000000 00000000 00000000 00000000 ................
-- 0x000002f0 000002f0 00000000 00000000 00000000 ................
- 0x00000300 00000000 00000000 00000000 00000000 ................
-+ 0x00000310 00000310 00000000 00000000 00000000 ................
-+ 0x00000320 00000000 00000000 00000000 00000000 ................
---- binutils-2.22/ld/testsuite/ld-mips-elf/rel64.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/rel64.d
-@@ -14,6 +14,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
- +Type3: R_MIPS_NONE
-
- Hex dump of section '.text':
-- 0x00000450 00000000 00000000 00000000 00000000 ................
-- 0x00000460 00000000 00000460 00000000 00000000 ................
-- 0x00000470 00000000 00000000 00000000 00000000 ................
-+ 0x00000490 00000000 00000000 00000000 00000000 ................
-+ 0x000004a0 00000000 000004a0 00000000 00000000 ................
-+ 0x000004b0 00000000 00000000 00000000 00000000 ................
---- binutils-2.22/ld/testsuite/ld-mips-elf/tlsbin-o32.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/tlsbin-o32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/tlsbin-o32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-mips-elf/tlsbin-o32.d
@@ -2,42 +2,42 @@
Disassembly of section .text:
+00400[0-9a-f]{3} <__tls_get_addr>:
+ 400[0-9a-f]{3}: 03e00008 jr ra
+ 400[0-9a-f]{3}: 00000000 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tls.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls.d
@@ -9,45 +9,45 @@
Disassembly of section \.text:
- 10000180: 4e 80 00 20 blr
+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
---- binutils-2.22/ld/testsuite/ld-powerpc/tls.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls.g
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls.g
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls.g
@@ -8,5 +8,5 @@
.*: +file format elf64-powerpc
- 100101f0 ffffffff ffff8058 .*
+ 10010([0-9a-f]{3}) 00000000 10018\1 ffffffff ffff8018 .*
+ 10010[0-9a-f]{3} ffffffff ffff8058 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tls32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls32.d
@@ -9,42 +9,42 @@
Disassembly of section \.text:
-0+181012c <_GLOBAL_OFFSET_TABLE_>:
+0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
---- binutils-2.22/ld/testsuite/ld-powerpc/tls32.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls32.g
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls32.g
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls32.g
@@ -8,4 +8,4 @@
.*: +file format elf32-powerpc
Contents of section \.got:
- 1810128 4e800021 00000000 00000000 00000000 .*
+ 18101[0-9a-f]{2} 4e800021 00000000 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tls32.t
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls32.t
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls32.t
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tls32.t
@@ -8,5 +8,5 @@
.*: +file format elf32-powerpc
- 1810118 56789abc 6789abcd 789abcde 00c0ffee .*
+ 18101[0-9a-f]{2} 12345678 23456789 3456789a 456789ab .*
+ 18101[0-9a-f]{2} 56789abc 6789abcd 789abcde 00c0ffee .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsexe32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsexe32.d
@@ -44,4 +44,4 @@ Disassembly of section \.got:
.*: 4e 80 00 21 blrl
.* <_GLOBAL_OFFSET_TABLE_>:
-.*: 01 81 02 b8 00 00 00 00 00 00 00 00 .*
+.*: 01 81 02 [bd]8 00 00 00 00 00 00 00 00 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.g
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsexe32.g
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsexe32.g
@@ -8,4 +8,4 @@
Contents of section \.got:
.* 00000000 00000000 00000000 4e800021 .*
-.* 018102b8 00000000 00000000 .*
+.* 018102[bd]8 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsexe32.r
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsexe32.r
@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsmark.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsmark.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsmark.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsmark.d
@@ -9,29 +9,29 @@
Disassembly of section \.text:
- 10000140: 4e 80 00 20 blr
+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsmark32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsmark32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsmark32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsmark32.d
@@ -9,17 +9,17 @@
Disassembly of section \.text:
+0+18000[0-9a-f]{2} <__tls_get_addr>:
+ 18000[0-9a-f]{2}: 4e 80 00 20 blr
+#pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt1.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt1.d
@@ -9,17 +9,17 @@
Disassembly of section \.text:
+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
+ 10000[0-9a-f]{3}: 4b ff ff e5 bl 10000[0-9a-f]{3} <\.__tls_get_addr>
+ 10000[0-9a-f]{3}: 60 00 00 00 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1_32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt1_32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt1_32.d
@@ -9,16 +9,16 @@
Disassembly of section \.text:
+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
+ 18000[0-9a-f]{2}: 4b ff ff e9 bl 18000[0-9a-f]{2} <__tls_get_addr>
#pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt2.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt2.d
@@ -9,15 +9,15 @@
Disassembly of section \.text:
+ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760
+ 10000[0-9a-f]{3}: 4b ff ff ed bl 10000[0-9a-f]{3} <\.__tls_get_addr>
+ 10000[0-9a-f]{3}: 60 00 00 00 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2_32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt2_32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt2_32.d
@@ -9,15 +9,15 @@
Disassembly of section \.text:
+ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12
+ 18000[0-9a-f]{2}: 4b ff ff ed bl 18000[0-9a-f]{2} <__tls_get_addr>
#pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt3.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt3.d
@@ -9,18 +9,18 @@
Disassembly of section \.text:
+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
+ 10000[0-9a-f]{3}: 4b ff ff e1 bl 10000[0-9a-f]{3} <\.__tls_get_addr>
+ 10000[0-9a-f]{3}: 60 00 00 00 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3_32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt3_32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt3_32.d
@@ -9,17 +9,17 @@
Disassembly of section \.text:
+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
+ 18000[0-9a-f]{2}: 4b ff ff e5 bl 18000[0-9a-f]{2} <__tls_get_addr>
#pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt4.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt4.d
@@ -9,40 +9,40 @@
Disassembly of section \.text:
+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
+ 10000[0-9a-f]{3}: 60 00 00 00 nop
+ 10000[0-9a-f]{3}: 38 63 90 08 addi r3,r3,-28664
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4_32.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt4_32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsopt4_32.d
@@ -9,36 +9,36 @@
Disassembly of section \.text:
+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
+ 18000[0-9a-f]{2}: 38 63 90 08 addi r3,r3,-28664
#pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.g
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsso32.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsso32.d
+@@ -42,5 +42,5 @@ Disassembly of section \.got:
+ #...
+ .*: 4e 80 00 21 blrl
+ .* <_GLOBAL_OFFSET_TABLE_>:
+-.*: 00 01 03 ec .*
++.*: 00 01 [0-9a-f]{2} [0-9a-f]{2} .*
+ #pass
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsso32.g
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsso32.g
@@ -9,5 +9,5 @@
Contents of section \.got:
.* 00000000 00000000 00000000 00000000 .*
-.* 00000000 4e800021 000103ec 00000000 .*
+.* 00000000 4e800021 00010[0-9a-f]{3} 00000000 .*
.* 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.g
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsso32.r
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlsso32.r
+@@ -35,6 +35,7 @@ Program Headers:
+ +LOAD .* RWE 0x10000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0+1c 0x0+38 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections\.\.\.
+@@ -42,6 +43,7 @@ Program Headers:
+ +01 +\.tdata \.dynamic \.got \.plt
+ +02 +\.dynamic
+ +03 +\.tdata \.tbss
++ +04 +
+
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
+ Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
+@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
+ [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
+ [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
+ [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
+-[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
+-[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
+-[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
++[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
++[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
++[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
+ [0-9a-f ]+R_PPC_DTPMOD32 +0
+ [0-9a-f ]+R_PPC_DTPREL32 +0
+ [0-9a-f ]+R_PPC_DTPMOD32 +0
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlstoc.g
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlstoc.g
@@ -8,8 +8,8 @@
.*: +file format elf64-powerpc
+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .*
+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .*
+ 10010[0-9a-f]{3} ffffffff ffff8060 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.t
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.t
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlstoc.t
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlstoc.t
@@ -8,7 +8,7 @@
.*: +file format elf64-powerpc
+ 10010190 23456789 abcdef01 3456789a bcdef012 .*
+ 100101a0 456789ab cdef0123 56789abc def01234 .*
+ 100101b0 6789abcd ef012345 789abcde f0123456 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.g
+--- binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlstocso.g
++++ binutils-2.23.51.0.2/ld/testsuite/ld-powerpc/tlstocso.g
@@ -7,7 +7,7 @@
.*: +file format elf64-powerpc
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+34 0x0+400034 0x0+400034 0x0+c0 0x0+c0 R E 0x4
-- +INTERP +0x0+f4 0x0+4000f4 0x0+4000f4 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+34 0x0+400034 0x0+400034 0x0+e0 0x0+e0 R E 0x4
-+ +INTERP +0x0+114 0x0+400114 0x0+400114 0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
- +LOAD .* R E 0x1000
+--- binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlsbin.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlsbin.rd
+@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+LOAD .* RW +0x1000
+DYNAMIC .* RW +0x4
+TLS .* 0x0+60 0x0+a0 R +0x20
Relocation section '.rela.dyn' at offset .* contains 4 entries:
Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+150 0x0+150 R E 0x8
-- +INTERP +0x0+190 0x0+80000190 0x0+80000190 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+188 0x0+188 R E 0x8
-+ +INTERP +0x0+1c8 0x0+800001c8 0x0+800001c8 0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
- +LOAD .* R E 0x1000
+--- binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlsbin_64.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlsbin_64.rd
+@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+LOAD .* RW +0x1000
+DYNAMIC .* RW +0x8
+TLS .* 0x0+60 0x0+a0 R +0x20
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-s390/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlspic.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlspic.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlspic.rd
@@ -39,6 +39,7 @@ Program Headers:
+LOAD .* RW +0x1000
+DYNAMIC .* RW +0x4
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlspic_64.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-s390/tlspic_64.rd
@@ -39,6 +39,7 @@ Program Headers:
+LOAD .* RW +0x1000
+DYNAMIC .* RW +0x8
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-scripts/empty-aligned.d
-+++ binutils-2.22/ld/testsuite/ld-scripts/empty-aligned.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-scripts/empty-aligned.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-scripts/empty-aligned.d
@@ -8,7 +8,9 @@
Program Headers:
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
+Segment Sections\.\.\.
+00 +.text
+ +01 +
---- binutils-2.22/ld/testsuite/ld-sh/tlsbin-2.d
-+++ binutils-2.22/ld/testsuite/ld-sh/tlsbin-2.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sh/tlsbin-2.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sh/tlsbin-2.d
@@ -44,6 +44,7 @@ Program Headers:
+LOAD.*
+DYNAMIC.*
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d
-+++ binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sh/tlspic-2.d
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sh/tlspic-2.d
@@ -32,7 +32,7 @@ Key to Flags:
Elf file type is DYN \(Shared object file\)
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/gotop32.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/gotop32.rd
@@ -31,6 +31,7 @@ Program Headers:
+LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
+LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/gotop64.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/gotop64.rd
@@ -31,6 +31,7 @@ Program Headers:
+LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
+LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunbin32.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunbin32.rd
@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunbin64.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunbin64.rd
@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunnopic32.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunnopic32.rd
@@ -32,6 +32,7 @@ Program Headers:
+LOAD .* RW +0x10000
+DYNAMIC .* RW +0x4
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunnopic64.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunnopic64.rd
@@ -32,6 +32,7 @@ Program Headers:
+LOAD .* RW +0x100000
+DYNAMIC .* RW +0x8
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunpic32.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunpic32.rd
@@ -36,6 +36,7 @@ Program Headers:
+LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
+DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunpic64.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-sparc/tlssunpic64.rd
@@ -36,6 +36,7 @@ Program Headers:
+LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
+DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd
-+++ binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-x86-64/tlsgdesc.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-x86-64/tlsgdesc.rd
@@ -36,12 +36,14 @@ Program Headers:
+LOAD.*
+LOAD.*
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd
+--- binutils-2.23.51.0.2/ld/testsuite/ld-x86-64/tlspic.rd
++++ binutils-2.23.51.0.2/ld/testsuite/ld-x86-64/tlspic.rd
@@ -40,6 +40,7 @@ Program Headers:
+LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000
+DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8
###############################################################################
name = coreutils
-version = 8.17
-release = 2
+version = 8.19
+release = 1
groups = System/Base
url = http://www.gnu.org/software/coreutils/
libcap-devel
libselinux-devel
ncurses-devel
- pam-devel>=1.1.5
+ texinfo
end
CFLAGS += \
configure_options += \
--libexecdir=%{libdir} \
- --enable-pam \
--enable-selinux \
--enable-largefile \
--disable-rpath \
- --enable-install-program=arch,su \
+ --enable-install-program=arch \
--enable-no-install-program=hostname,kill,uptime \
--with-tty-group \
\
install_cmds
mkdir -pv %{BUILDROOT}%{sbindir}
mv -v %{BUILDROOT}/usr/bin/chroot %{BUILDROOT}%{sbindir}
- mv -v %{BUILDROOT}/usr/bin/runuser %{BUILDROOT}%{sbindir}
-
- # su (set right capabilities)
- chmod -v u-s %{BUILDROOT}%{bindir}/su
- setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su
# Dump /etc/DIR_COLORS
mkdir -pv %{BUILDROOT}%{sysconfdir}
/bin/sleep
/bin/sort
/bin/stty
- /bin/su
/bin/sync
/bin/touch
/bin/true
/bin/uname
- /sbin/runuser
end
conflicts
+++ /dev/null
-diff -urNp coreutils-8.17-orig/src/ls.c coreutils-8.17/src/ls.c
---- coreutils-8.17-orig/src/ls.c 2012-05-11 20:59:01.467946060 +0200
-+++ coreutils-8.17/src/ls.c 2012-05-11 21:00:38.276821883 +0200
-@@ -3206,14 +3206,9 @@ make_link_name (char const *name, char const *linkname)
- if (IS_ABSOLUTE_FILE_NAME (linkname))
- return xstrdup (linkname);
-
-- /* The link is to a relative name. Prepend any leading directory
-- in 'name' to the link name. */
-- size_t prefix_len = dir_len (name);
-- if (prefix_len == 0)
-- return xstrdup (linkname);
--
-- char *p = xmalloc (prefix_len + 1 + strlen (linkname) + 1);
-- stpcpy (stpncpy (p, name, prefix_len + 1), linkname);
-+ char *d = dir_name (name);
-+ char *p = file_name_concat (d, linkname, NULL);
-+ free (d);
- return p;
- }
-
+++ /dev/null
-diff -urNp coreutils-8.16-orig/configure.ac coreutils-8.16/configure.ac
---- coreutils-8.16-orig/configure.ac 2012-03-24 19:22:13.000000000 +0100
-+++ coreutils-8.16/configure.ac 2012-03-26 17:59:07.900139497 +0200
-@@ -185,6 +185,20 @@ fi
-
- AC_FUNC_FORK
-
-+AC_ARG_ENABLE(pam, AS_HELP_STRING([--disable-pam],
-+ [Disable PAM support in su (default=auto)]), , [enable_pam=yes])
-+if test "x$enable_pam" != xno; then
-+ AC_CHECK_LIB([pam], [pam_start], [enable_pam=yes], [enable_pam=no])
-+ AC_CHECK_LIB([pam_misc], [misc_conv], [:], [enable_pam=no])
-+ if test "x$enable_pam" != xno; then
-+ AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
-+ PAM_LIBS="-lpam -lpam_misc"
-+ AC_SUBST(PAM_LIBS)
-+ fi
-+fi
-+AC_MSG_CHECKING([whether to enable PAM support in su])
-+AC_MSG_RESULT([$enable_pam])
-+
- optional_bin_progs=
- AC_CHECK_FUNCS([chroot],
- gl_ADD_PROG([optional_bin_progs], [chroot]))
-diff -urNp coreutils-8.16-orig/doc/coreutils.texi coreutils-8.16/doc/coreutils.texi
---- coreutils-8.16-orig/doc/coreutils.texi 2012-03-26 17:58:27.624763998 +0200
-+++ coreutils-8.16/doc/coreutils.texi 2012-03-26 17:59:07.907138599 +0200
-@@ -15804,7 +15804,9 @@ the exit status of @var{command} otherwi
-
- @command{su} allows one user to temporarily become another user. It runs a
- command (often an interactive shell) with the real and effective user
--ID, group ID, and supplemental groups of a given @var{user}. Synopsis:
-+ID, group ID, and supplemental groups of a given @var{user}. When the -l
-+option is given, the su-l PAM file is used instead of the default su PAM file.
-+Synopsis:
-
- @example
- su [@var{option}]@dots{} [@var{user} [@var{arg}]@dots{}]
-@@ -15883,7 +15885,8 @@ environment variables except @env{TERM},
- (which are set, even for the super-user, as described above), and set
- @env{PATH} to a compiled-in default value. Change to @var{user}'s home
- directory. Prepend @samp{-} to the shell's name, intended to make it
--read its login startup file(s).
-+read its login startup file(s). When this option is given, /etc/pam.d/su-l
-+PAM file is used instead of the default one.
-
- @item -m
- @itemx -p
-diff -urNp coreutils-8.16-orig/src/Makefile.am coreutils-8.16/src/Makefile.am
---- coreutils-8.16-orig/src/Makefile.am 2012-03-24 19:22:13.000000000 +0100
-+++ coreutils-8.16/src/Makefile.am 2012-03-26 17:59:07.928142551 +0200
-@@ -357,8 +357,8 @@ factor_LDADD += $(LIB_GMP)
- # for getloadavg
- uptime_LDADD += $(GETLOADAVG_LIBS)
-
--# for crypt
--su_LDADD += $(LIB_CRYPT)
-+# for crypt and pam
-+su_LDADD += $(LIB_CRYPT) $(PAM_LIBS)
-
- # for various ACL functions
- copy_LDADD += $(LIB_ACL)
-diff -urNp coreutils-8.16-orig/src/su.c coreutils-8.16/src/su.c
---- coreutils-8.16-orig/src/su.c 2012-03-26 17:58:27.629764055 +0200
-+++ coreutils-8.16/src/su.c 2012-03-26 17:59:07.931138998 +0200
-@@ -37,6 +37,16 @@
- restricts who can su to UID 0 accounts. RMS considers that to
- be fascist.
-
-+#ifdef USE_PAM
-+
-+ Actually, with PAM, su has nothing to do with whether or not a
-+ wheel group is enforced by su. RMS tries to restrict your access
-+ to a su which implements the wheel group, but PAM considers that
-+ to be fascist, and gives the user/sysadmin the opportunity to
-+ enforce a wheel group by proper editing of /etc/pam.d/su
-+
-+#endif
-+
- Compile-time options:
- -DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog.
- -DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog.
-@@ -52,6 +62,13 @@
- #include <sys/types.h>
- #include <pwd.h>
- #include <grp.h>
-+#ifdef USE_PAM
-+#include <security/pam_appl.h>
-+#include <security/pam_misc.h>
-+#include <signal.h>
-+#include <sys/wait.h>
-+#include <sys/fsuid.h>
-+#endif
-
- #include "system.h"
- #include "getpass.h"
-@@ -120,7 +137,9 @@
- /* The user to become if none is specified. */
- #define DEFAULT_USER "root"
-
-+#ifndef USE_PAM
- char *crypt (char const *key, char const *salt);
-+#endif
-
- static void run_shell (char const *, char const *, char **, size_t)
- ATTRIBUTE_NORETURN;
-@@ -134,6 +153,11 @@ static bool simulate_login;
- /* If true, change some environment vars to indicate the user su'd to. */
- static bool change_environment;
-
-+#ifdef USE_PAM
-+static bool _pam_session_opened;
-+static bool _pam_cred_established;
-+#endif
-+
- static struct option const longopts[] =
- {
- {"command", required_argument, NULL, 'c'},
-@@ -212,7 +236,174 @@ log_su (struct passwd const *pw, bool su
- }
- #endif
-
-+#ifdef USE_PAM
-+#define PAM_SERVICE_NAME PROGRAM_NAME
-+#define PAM_SERVICE_NAME_L PROGRAM_NAME "-l"
-+static sig_atomic_t volatile caught_signal = false;
-+static pam_handle_t *pamh = NULL;
-+static int retval;
-+static struct pam_conv conv =
-+{
-+ misc_conv,
-+ NULL
-+};
-+
-+#define PAM_BAIL_P(a) \
-+ if (retval) \
-+ { \
-+ pam_end (pamh, retval); \
-+ a; \
-+ }
-+
-+static void
-+cleanup_pam (int retcode)
-+{
-+ if (_pam_session_opened)
-+ pam_close_session (pamh, 0);
-+
-+ if (_pam_cred_established)
-+ pam_setcred (pamh, PAM_DELETE_CRED | PAM_SILENT);
-+
-+ pam_end(pamh, retcode);
-+}
-+
-+/* Signal handler for parent process. */
-+static void
-+su_catch_sig (int sig)
-+{
-+ caught_signal = true;
-+}
-+
-+/* Export env variables declared by PAM modules. */
-+static void
-+export_pamenv (void)
-+{
-+ char **env;
-+
-+ /* This is a copy but don't care to free as we exec later anyways. */
-+ env = pam_getenvlist (pamh);
-+ while (env && *env)
-+ {
-+ if (putenv (*env) != 0)
-+ xalloc_die ();
-+ env++;
-+ }
-+}
-+
-+static void
-+create_watching_parent (void)
-+{
-+ pid_t child;
-+ sigset_t ourset, blockset;
-+ int status = 0;
-+
-+ retval = pam_open_session (pamh, 0);
-+ if (retval != PAM_SUCCESS)
-+ {
-+ cleanup_pam (retval);
-+ error (EXIT_FAILURE, 0, _("cannot not open session: %s"),
-+ pam_strerror (pamh, retval));
-+ }
-+ else
-+ _pam_session_opened = 1;
-+
-+ child = fork ();
-+ if (child == (pid_t) -1)
-+ {
-+ cleanup_pam (PAM_ABORT);
-+ error (EXIT_FAILURE, errno, _("cannot create child process"));
-+ }
-+
-+ /* the child proceeds to run the shell */
-+ if (child == 0)
-+ return;
-+
-+ /* In the parent watch the child. */
-+
-+ /* su without pam support does not have a helper that keeps
-+ sitting on any directory so let's go to /. */
-+ if (chdir ("/") != 0)
-+ error (0, errno, _("warning: cannot change directory to %s"), "/");
-+
-+ sigfillset (&ourset);
-+ if (sigprocmask (SIG_BLOCK, &ourset, NULL))
-+ {
-+ error (0, errno, _("cannot block signals"));
-+ caught_signal = true;
-+ }
-+ if (!caught_signal)
-+ {
-+ struct sigaction action;
-+ action.sa_handler = su_catch_sig;
-+ sigemptyset (&action.sa_mask);
-+ action.sa_flags = 0;
-+ sigemptyset (&ourset);
-+ if (sigaddset (&ourset, SIGTERM)
-+ || sigaddset (&ourset, SIGALRM)
-+ || sigaction (SIGTERM, &action, NULL)
-+ || sigprocmask (SIG_UNBLOCK, &ourset, NULL))
-+ {
-+ error (0, errno, _("cannot set signal handler"));
-+ caught_signal = true;
-+ }
-+ }
-+ if (!caught_signal)
-+ {
-+ pid_t pid;
-+ for (;;)
-+ {
-+ pid = waitpid (child, &status, WUNTRACED);
-+
-+ if (pid != (pid_t)-1 && WIFSTOPPED (status))
-+ {
-+ /* tcsh sends SIGTSTP to the process group, and so is already pending */
-+ kill (getpid (), SIGSTOP);
-+ if (WSTOPSIG(status) != SIGSTOP) {
-+ sigemptyset(&blockset);
-+ if (sigaddset(&blockset, WSTOPSIG(status)) ||
-+ sigprocmask(SIG_UNBLOCK, &blockset, &ourset) ||
-+ sigprocmask(SIG_SETMASK, &ourset, NULL))
-+ {
-+ error (0, errno, _("cannot set signal handler"));
-+ }
-+ }
-+ /* once we get here, we must have resumed */
-+ kill (pid, SIGCONT);
-+ }
-+ else
-+ break;
-+ }
-+ if (pid != (pid_t)-1)
-+ if (WIFSIGNALED (status))
-+ status = WTERMSIG (status) + 128;
-+ else
-+ status = WEXITSTATUS (status);
-+ else
-+ status = 1;
-+ }
-+ else
-+ status = 1;
-+
-+ if (caught_signal)
-+ {
-+ fprintf (stderr, _("\nSession terminated, killing shell..."));
-+ kill (child, SIGTERM);
-+ }
-+
-+ cleanup_pam (PAM_SUCCESS);
-+
-+ if (caught_signal)
-+ {
-+ sleep (2);
-+ kill (child, SIGKILL);
-+ fprintf (stderr, _(" ...killed.\n"));
-+ }
-+ exit (status);
-+}
-+#endif
-+
- /* Ask the user for a password.
-+ If PAM is in use, let PAM ask for the password if necessary.
- Return true if the user gives the correct password for entry PW,
- false if not. Return true without asking for a password if run by UID 0
- or if PW has an empty password. */
-@@ -220,10 +411,52 @@ log_su (struct passwd const *pw, bool su
- static bool
- correct_password (const struct passwd *pw)
- {
-+#ifdef USE_PAM
-+ const struct passwd *lpw;
-+ const char *cp;
-+
-+ retval = pam_start (simulate_login ? PAM_SERVICE_NAME_L : PAM_SERVICE_NAME,
-+ pw->pw_name, &conv, &pamh);
-+ PAM_BAIL_P (return false);
-+
-+ if (isatty (0) && (cp = ttyname (0)) != NULL)
-+ {
-+ const char *tty;
-+
-+ if (strncmp (cp, "/dev/", 5) == 0)
-+ tty = cp + 5;
-+ else
-+ tty = cp;
-+ retval = pam_set_item (pamh, PAM_TTY, tty);
-+ PAM_BAIL_P (return false);
-+ }
-+#if 0 /* Manpage discourages use of getlogin. */
-+ cp = getlogin ();
-+ if (!(cp && *cp && (lpw = getpwnam (cp)) != NULL && lpw->pw_uid == getuid ()))
-+#endif
-+ lpw = getpwuid (getuid ());
-+ if (lpw && lpw->pw_name)
-+ {
-+ retval = pam_set_item (pamh, PAM_RUSER, (const void *) lpw->pw_name);
-+ PAM_BAIL_P (return false);
-+ }
-+ retval = pam_authenticate (pamh, 0);
-+ PAM_BAIL_P (return false);
-+ retval = pam_acct_mgmt (pamh, 0);
-+ if (retval == PAM_NEW_AUTHTOK_REQD)
-+ {
-+ /* Password has expired. Offer option to change it. */
-+ retval = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
-+ PAM_BAIL_P (return false);
-+ }
-+ PAM_BAIL_P (return false);
-+ /* Must be authenticated if this point was reached. */
-+ return true;
-+#else /* !USE_PAM */
- char *unencrypted, *encrypted, *correct;
- #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP
- /* Shadow passwd stuff for SVR3 and maybe other systems. */
-- struct spwd *sp = getspnam (pw->pw_name);
-+ const struct spwd *sp = getspnam (pw->pw_name);
-
- endspent ();
- if (sp)
-@@ -244,6 +477,7 @@ correct_password (const struct passwd *p
- encrypted = crypt (unencrypted, correct);
- memset (unencrypted, 0, strlen (unencrypted));
- return STREQ (encrypted, correct);
-+#endif /* !USE_PAM */
- }
-
- /* Update 'environ' for the new shell based on PW, with SHELL being
-@@ -286,19 +520,41 @@ modify_environment (const struct passwd
- }
- }
- }
-+
-+#ifdef USE_PAM
-+ export_pamenv ();
-+#endif
- }
-
- /* Become the user and group(s) specified by PW. */
-
- static void
--change_identity (const struct passwd *pw)
-+init_groups (const struct passwd *pw)
- {
- #ifdef HAVE_INITGROUPS
- errno = 0;
- if (initgroups (pw->pw_name, pw->pw_gid) == -1)
-- error (EXIT_CANCELED, errno, _("cannot set groups"));
-+ {
-+#ifdef USE_PAM
-+ cleanup_pam (PAM_ABORT);
-+#endif
-+ error (EXIT_FAILURE, errno, _("cannot set groups"));
-+ }
- endgrent ();
- #endif
-+
-+#ifdef USE_PAM
-+ retval = pam_setcred (pamh, PAM_ESTABLISH_CRED);
-+ if (retval != PAM_SUCCESS)
-+ error (EXIT_FAILURE, 0, "%s", pam_strerror (pamh, retval));
-+ else
-+ _pam_cred_established = 1;
-+#endif
-+}
-+
-+static void
-+change_identity (const struct passwd *pw)
-+{
- if (setgid (pw->pw_gid))
- error (EXIT_CANCELED, errno, _("cannot set group id"));
- if (setuid (pw->pw_uid))
-@@ -511,9 +767,21 @@ main (int argc, char **argv)
- shell = NULL;
- }
- shell = xstrdup (shell ? shell : pw->pw_shell);
-- modify_environment (pw, shell);
-+
-+ init_groups (pw);
-+
-+#ifdef USE_PAM
-+ create_watching_parent ();
-+ /* Now we're in the child. */
-+#endif
-
- change_identity (pw);
-+
-+ /* Set environment after pam_open_session, which may put KRB5CCNAME
-+ into the pam_env, etc. */
-+
-+ modify_environment (pw, shell);
-+
- if (simulate_login && chdir (pw->pw_dir) != 0)
- error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
-
+++ /dev/null
-diff -urNp coreutils-8.7-orig/AUTHORS coreutils-8.7/AUTHORS
---- coreutils-8.7-orig/AUTHORS 2010-10-11 19:35:11.000000000 +0200
-+++ coreutils-8.7/AUTHORS 2010-11-15 10:08:04.222078001 +0100
-@@ -65,6 +65,7 @@ readlink: Dmitry V. Levin
- rm: Paul Rubin, David MacKenzie, Richard M. Stallman, Jim Meyering
- rmdir: David MacKenzie
- runcon: Russell Coker
-+runuser: David MacKenzie, Dan Walsh
- seq: Ulrich Drepper
- sha1sum: Ulrich Drepper, Scott Miller, David Madore
- sha224sum: Ulrich Drepper, Scott Miller, David Madore
-diff -urNp coreutils-8.7-orig/man/help2man coreutils-8.7/man/help2man
---- coreutils-8.7-orig/man/help2man 2010-10-11 19:35:11.000000000 +0200
-+++ coreutils-8.7/man/help2man 2010-11-15 10:08:51.331054884 +0100
-@@ -555,6 +555,9 @@ while (length)
- $include{$sect} .= $content;
- }
-
-+# There is no info documentation for runuser (shared with su).
-+$opt_no_info = 1 if $program eq 'runuser';
-+
- # Refer to the real documentation.
- unless ($opt_no_info)
- {
-diff -urNp coreutils-8.7-orig/man/Makefile.am coreutils-8.7/man/Makefile.am
---- coreutils-8.7-orig/man/Makefile.am 2010-10-11 19:35:11.000000000 +0200
-+++ coreutils-8.7/man/Makefile.am 2010-11-15 10:09:21.768922182 +0100
-@@ -94,6 +94,7 @@ readlink.1: $(common_dep) $(srcdir)/read
- rm.1: $(common_dep) $(srcdir)/rm.x ../src/rm.c
- rmdir.1: $(common_dep) $(srcdir)/rmdir.x ../src/rmdir.c
- runcon.1: $(common_dep) $(srcdir)/runcon.x ../src/runcon.c
-+runuser.1: $(common_dep) $(srcdir)/runuser.x ../src/su.c
- seq.1: $(common_dep) $(srcdir)/seq.x ../src/seq.c
- sha1sum.1: $(common_dep) $(srcdir)/sha1sum.x ../src/md5sum.c
- sha224sum.1: $(common_dep) $(srcdir)/sha224sum.x ../src/md5sum.c
-diff -urNp coreutils-8.7-orig/man/runuser.x coreutils-8.7/man/runuser.x
---- coreutils-8.7-orig/man/runuser.x 1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.7/man/runuser.x 2010-11-15 10:09:57.437939015 +0100
-@@ -0,0 +1,12 @@
-+[NAME]
-+runuser \- run a shell with substitute user and group IDs
-+[DESCRIPTION]
-+.\" Add any additional description here
-+[SEE ALSO]
-+.TP
-+More detailed Texinfo documentation could be found by command
-+.TP
-+\t\fBinfo coreutils \(aqsu invocation\(aq\fR\t
-+.TP
-+since the command \fBrunuser\fR is trimmed down version of command \fBsu\fR.
-+.br
-diff -urNp coreutils-8.7-orig/README coreutils-8.7/README
---- coreutils-8.7-orig/README 2010-10-11 19:35:11.000000000 +0200
-+++ coreutils-8.7/README 2010-11-15 10:10:43.002922253 +0100
-@@ -11,8 +11,8 @@ The programs that can be built with this
- factor false fmt fold groups head hostid hostname id install join kill
- link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup
- nproc od paste pathchk pinky pr printenv printf ptx pwd readlink realpath
-- rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred
-- shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test
-+ rm rmdir runcon runuser seq sha1sum sha224sum sha256sum sha384sum sha512sum
-+ shred shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test
- timeout touch tr true truncate tsort tty uname unexpand uniq unlink
- uptime users vdir wc who whoami yes
-
-diff -urNp coreutils-8.7-orig/src/Makefile.am coreutils-8.7/src/Makefile.am
---- coreutils-8.7-orig/src/Makefile.am 2010-11-15 10:07:07.339171659 +0100
-+++ coreutils-8.7/src/Makefile.am 2010-11-15 10:12:14.847094550 +0100
-@@ -100,6 +100,7 @@ EXTRA_PROGRAMS = \
- rm \
- rmdir \
- runcon \
-+ runuser \
- seq \
- sha1sum \
- sha224sum \
-@@ -300,6 +301,10 @@ cp_LDADD += $(copy_LDADD)
- ginstall_LDADD += $(copy_LDADD)
- mv_LDADD += $(copy_LDADD)
-
-+runuser_SOURCES = su.c
-+runuser_CFLAGS = -DRUNUSER -DAUTHORS="\"David MacKenzie, Dan Walsh\""
-+runuser_LDADD = $(LDADD) $(LIB_CRYPT) $(PAM_LIBS)
-+
- remove_LDADD =
- mv_LDADD += $(remove_LDADD)
- rm_LDADD += $(remove_LDADD)
-@@ -395,7 +400,7 @@ RELEASE_YEAR = \
- `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \
- $(top_srcdir)/lib/version-etc.c`
-
--all-local: su$(EXEEXT)
-+all-local: su$(EXEEXT) runuser
-
- installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
-
-diff -urNp coreutils-8.7-orig/src/su.c coreutils-8.7/src/su.c
---- coreutils-8.7-orig/src/su.c 2010-11-15 10:07:07.372933288 +0100
-+++ coreutils-8.7/src/su.c 2010-11-15 10:42:12.569159230 +0100
-@@ -100,9 +100,15 @@
- #include "error.h"
-
- /* The official name of this program (e.g., no 'g' prefix). */
-+#ifndef RUNUSER
- #define PROGRAM_NAME "su"
-+#else
-+#define PROGRAM_NAME "runuser"
-+#endif
-
-+#ifndef AUTHORS
- #define AUTHORS proper_name ("David MacKenzie")
-+#endif
-
- #if HAVE_PATHS_H
- # include <paths.h>
-@@ -140,6 +146,9 @@
- #ifndef USE_PAM
- char *crypt (char const *key, char const *salt);
- #endif
-+#ifndef CHECKPASSWD
-+#define CHECKPASSWD 1
-+#endif
-
- static void run_shell (char const *, char const *, char **, size_t)
- ATTRIBUTE_NORETURN;
-@@ -169,6 +178,10 @@ static struct option const longopts[] =
- {"login", no_argument, NULL, 'l'},
- {"preserve-environment", no_argument, NULL, 'p'},
- {"shell", required_argument, NULL, 's'},
-+#ifdef RUNUSER
-+ {"group", required_argument, NULL, 'g'},
-+ {"supp-group", required_argument, NULL, 'G'},
-+#endif
- {GETOPT_HELP_OPTION_DECL},
- {GETOPT_VERSION_OPTION_DECL},
- {NULL, 0, NULL, 0}
-@@ -444,6 +457,11 @@ correct_password (const struct passwd *p
- retval = pam_set_item (pamh, PAM_RUSER, (const void *) lpw->pw_name);
- PAM_BAIL_P (return false);
- }
-+#ifdef RUNUSER
-+ if (getuid() != geteuid())
-+ /* safety net: deny operation if we are suid by accident */
-+ error(EXIT_FAILURE, 1, "runuser may not be setuid");
-+#else
- retval = pam_authenticate (pamh, 0);
- PAM_BAIL_P (return false);
- retval = pam_acct_mgmt (pamh, 0);
-@@ -454,6 +472,7 @@ correct_password (const struct passwd *p
- PAM_BAIL_P (return false);
- }
- PAM_BAIL_P (return false);
-+#endif
- /* Must be authenticated if this point was reached. */
- return true;
- #else /* !USE_PAM */
-@@ -533,11 +552,22 @@ modify_environment (const struct passwd
- /* Become the user and group(s) specified by PW. */
-
- static void
--init_groups (const struct passwd *pw)
-+init_groups (const struct passwd *pw
-+#ifdef RUNUSER
-+ , gid_t *groups, int num_groups
-+#endif
-+ )
- {
- #ifdef HAVE_INITGROUPS
-+ int rc = 0;
- errno = 0;
-- if (initgroups (pw->pw_name, pw->pw_gid) == -1)
-+#ifdef RUNUSER
-+ if (num_groups)
-+ rc = setgroups(num_groups, groups);
-+ else
-+#endif
-+ rc = initgroups(pw->pw_name, pw->pw_gid);
-+ if (rc == -1)
- {
- #ifdef USE_PAM
- cleanup_pam (PAM_ABORT);
-@@ -639,6 +669,28 @@ usage (int status)
- else
- {
- printf (_("Usage: %s [OPTION]... [-] [USER [ARG]...]\n"), program_name);
-+#ifdef RUNUSER
-+ printf (_("\
-+Change the effective user id and group id to that of USER. Only session PAM\n\
-+hooks are run, and there is no password prompt. This command is useful only\n\
-+when run as the root user. If run as a non-root user without privilege\n\
-+to set user ID, the command will fail as the binary is not setuid.\n\
-+As %s doesn't run auth and account PAM hooks, it runs with lower overhead\n\
-+than su.\n\
-+\n\
-+ -, -l, --login make the shell a login shell, uses runuser-l\n\
-+ PAM file instead of default one\n\
-+ -g --group=group specify the primary group\n\
-+ -G --supp-group=group specify a supplemental group\n\
-+ -c, --command=COMMAND pass a single COMMAND to the shell with -c\n\
-+ --session-command=COMMAND pass a single COMMAND to the shell with -c\n\
-+ and do not create a new session\n\
-+ -f, --fast pass -f to the shell (for csh or tcsh)\n\
-+ -m, --preserve-environment do not reset environment variables\n\
-+ -p same as -m\n\
-+ -s, --shell=SHELL run SHELL if /etc/shells allows it\n\
-+"), program_name);
-+#else
- fputs (_("\
- Change the effective user id and group id to that of USER.\n\
- \n\
-@@ -651,6 +703,7 @@ Change the effective user id and group i
- -p same as -m\n\
- -s, --shell=SHELL run SHELL if /etc/shells allows it\n\
- "), stdout);
-+#endif
- fputs (HELP_OPTION_DESCRIPTION, stdout);
- fputs (VERSION_OPTION_DESCRIPTION, stdout);
- fputs (_("\
-@@ -672,6 +725,12 @@ main (int argc, char **argv)
- char *shell = NULL;
- struct passwd *pw;
- struct passwd pw_copy;
-+#ifdef RUNUSER
-+ struct group *gr;
-+ gid_t groups[NGROUPS_MAX];
-+ int num_supp_groups = 0;
-+ int use_gid = 0;
-+#endif
-
- initialize_main (&argc, &argv);
- set_program_name (argv[0]);
-@@ -686,7 +745,11 @@ main (int argc, char **argv)
- simulate_login = false;
- change_environment = true;
-
-- while ((optc = getopt_long (argc, argv, "c:flmps:", longopts, NULL)) != -1)
-+ while ((optc = getopt_long (argc, argv, "c:flmps:"
-+#ifdef RUNUSER
-+ "g:G:"
-+#endif
-+ , longopts, NULL)) != -1)
- {
- switch (optc)
- {
-@@ -716,6 +779,28 @@ main (int argc, char **argv)
- shell = optarg;
- break;
-
-+#ifdef RUNUSER
-+ case 'g':
-+ gr = getgrnam(optarg);
-+ if (!gr)
-+ error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
-+ use_gid = 1;
-+ groups[0] = gr->gr_gid;
-+ break;
-+
-+ case 'G':
-+ num_supp_groups++;
-+ if (num_supp_groups >= NGROUPS_MAX)
-+ error (EXIT_FAILURE, 0,
-+ _("Can't specify more than %d supplemental groups"),
-+ NGROUPS_MAX - 1);
-+ gr = getgrnam(optarg);
-+ if (!gr)
-+ error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
-+ groups[num_supp_groups] = gr->gr_gid;
-+ break;
-+#endif
-+
- case_GETOPT_HELP_CHAR;
-
- case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
-@@ -754,7 +839,20 @@ main (int argc, char **argv)
- : DEFAULT_SHELL);
- endpwent ();
-
-- if (!correct_password (pw))
-+#ifdef RUNUSER
-+ if (num_supp_groups && !use_gid)
-+ {
-+ pw->pw_gid = groups[1];
-+ memmove (groups, groups + 1, sizeof(gid_t) * num_supp_groups);
-+ }
-+ else if (use_gid)
-+ {
-+ pw->pw_gid = groups[0];
-+ num_supp_groups++;
-+ }
-+#endif
-+
-+ if (CHECKPASSWD && !correct_password (pw))
- {
- #ifdef SYSLOG_FAILURE
- log_su (pw, false);
-@@ -784,7 +882,11 @@ main (int argc, char **argv)
- }
- shell = xstrdup (shell ? shell : pw->pw_shell);
-
-- init_groups (pw);
-+ init_groups (pw
-+#ifdef RUNUSER
-+ , groups, num_supp_groups
-+#endif
-+ );
-
- #ifdef USE_PAM
- create_watching_parent ();
-diff -urNp coreutils-8.7-orig/tests/misc/help-version coreutils-8.7/tests/misc/help-version
---- coreutils-8.7-orig/tests/misc/help-version 2010-10-11 19:35:11.000000000 +0200
-+++ coreutils-8.7/tests/misc/help-version 2010-11-15 10:45:18.473682325 +0100
-@@ -32,6 +32,7 @@ expected_failure_status_nohup=125
- expected_failure_status_stdbuf=125
- expected_failure_status_su=125
- expected_failure_status_timeout=125
-+expected_failure_status_runuser=125
- expected_failure_status_printenv=2
- expected_failure_status_tty=3
- expected_failure_status_sort=2
-@@ -209,6 +210,7 @@ seq_setup () { args=10; }
- sleep_setup () { args=0; }
- su_setup () { args=--version; }
- stdbuf_setup () { args="-oL true"; }
-+runuser_setup () { args=--version; }
- timeout_setup () { args=--version; }
-
- # I'd rather not run sync, since it spins up disks that I've
-diff -urNp coreutils-8.7-orig/tests/misc/invalid-opt coreutils-8.7/tests/misc/invalid-opt
---- coreutils-8.7-orig/tests/misc/invalid-opt 2010-10-11 19:35:11.000000000 +0200
-+++ coreutils-8.7/tests/misc/invalid-opt 2010-11-15 10:45:46.451938873 +0100
-@@ -37,6 +37,7 @@ my %exit_status =
- sort => 2,
- stdbuf => 125,
- su => 125,
-+ runuser => 125,
- test => 0,
- timeout => 125,
- true => 0,
-diff -urNp coreutils-8.16-orig/lib/linebuffer.h coreutils-8.16/lib/linebuffer.h
---- coreutils-8.16-orig/lib/linebuffer.h 2012-01-06 10:14:31.000000000 +0100
-+++ coreutils-8.16/lib/linebuffer.h 2012-03-26 18:02:00.993889446 +0200
+diff -urNp coreutils-8.19-orig/lib/linebuffer.h coreutils-8.19/lib/linebuffer.h
+--- coreutils-8.19-orig/lib/linebuffer.h 2012-01-06 10:14:31.000000000 +0100
++++ coreutils-8.19/lib/linebuffer.h 2012-08-20 13:52:04.061593006 +0200
@@ -21,6 +21,11 @@
# include <stdio.h>
};
/* Initialize linebuffer LINEBUFFER for use. */
-diff -urNp coreutils-8.16-orig/src/cut.c coreutils-8.16/src/cut.c
---- coreutils-8.16-orig/src/cut.c 2012-03-24 21:26:51.000000000 +0100
-+++ coreutils-8.16/src/cut.c 2012-03-26 17:46:48.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/cut.c coreutils-8.19/src/cut.c
+--- coreutils-8.19-orig/src/cut.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/cut.c 2012-08-20 13:52:52.299593173 +0200
@@ -28,6 +28,11 @@
#include <assert.h>
#include <getopt.h>
+ break;
+ }
+
-+ if (wc == WEOF)
++ if (len <= 0 && wc == WEOF)
+ break;
+
+ /* If the first field extends to the end of line (it is not
}
if (optind == argc)
-diff -urNp coreutils-8.16-orig/src/expand.c coreutils-8.16/src/expand.c
---- coreutils-8.16-orig/src/expand.c 2012-03-24 21:26:51.000000000 +0100
-+++ coreutils-8.16/src/expand.c 2012-03-26 17:42:56.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/expand.c coreutils-8.19/src/expand.c
+--- coreutils-8.19-orig/src/expand.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/expand.c 2012-08-20 13:54:02.974621693 +0200
@@ -37,12 +37,29 @@
#include <stdio.h>
#include <getopt.h>
+ if (convert)
+ {
+ ++column;
-+ if (convert_entire_line == 0)
++ if (convert_entire_line == 0 && !isblank(*bufpos))
+ convert = 0;
+ }
+ putchar (*bufpos);
+
+ width = wcwidth (wc);
+ column += (width > 0) ? width : 0;
-+ if (convert_entire_line == 0)
++ if (convert_entire_line == 0 && !iswblank(wc))
+ convert = 0;
+ }
+ }
if (have_read_stdin && fclose (stdin) != 0)
error (EXIT_FAILURE, errno, "-");
-diff -urNp coreutils-8.16-orig/src/fold.c coreutils-8.16/src/fold.c
---- coreutils-8.16-orig/src/fold.c 2012-03-24 19:22:13.000000000 +0100
-+++ coreutils-8.16/src/fold.c 2012-03-26 17:48:37.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/fold.c coreutils-8.19/src/fold.c
+--- coreutils-8.19-orig/src/fold.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/fold.c 2012-08-20 13:52:04.066592980 +0200
@@ -22,12 +22,34 @@
#include <getopt.h>
#include <sys/types.h>
break;
case 's': /* Break at word boundaries. */
-diff -urNp coreutils-8.16-orig/src/join.c coreutils-8.16/src/join.c
---- coreutils-8.16-orig/src/join.c 2012-03-24 21:26:51.000000000 +0100
-+++ coreutils-8.16/src/join.c 2012-03-26 17:50:02.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/join.c coreutils-8.19/src/join.c
+--- coreutils-8.19-orig/src/join.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/join.c 2012-08-20 13:52:04.069594876 +0200
@@ -22,18 +22,32 @@
#include <sys/types.h>
#include <getopt.h>
break;
case NOCHECK_ORDER_OPTION:
-diff -urNp coreutils-8.16-orig/src/pr.c coreutils-8.16/src/pr.c
---- coreutils-8.16-orig/src/pr.c 2012-03-24 21:26:51.000000000 +0100
-+++ coreutils-8.16/src/pr.c 2012-03-26 17:50:48.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/pr.c coreutils-8.19/src/pr.c
+--- coreutils-8.19-orig/src/pr.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/pr.c 2012-08-20 13:52:04.074593445 +0200
@@ -312,6 +312,32 @@
#include <getopt.h>
/* We've just printed some files and need to clean up things before
looking for more options and printing the next batch of files.
-diff -urNp coreutils-8.17-orig/src/sort.c coreutils-8.17/src/sort.c
---- coreutils-8.17-orig/src/sort.c
-+++ coreutils-8.17/src/sort.c
-@@ -22,12 +22,21 @@
-
- #include <config.h>
-
-+#include <assert.h>
- #include <getopt.h>
- #include <pthread.h>
- #include <sys/resource.h>
- #include <sys/types.h>
+diff -urNp coreutils-8.19-orig/src/sort.c coreutils-8.19/src/sort.c
+--- coreutils-8.19-orig/src/sort.c 2012-08-18 07:39:29.000000000 +0200
++++ coreutils-8.19/src/sort.c 2012-08-20 13:52:04.079596072 +0200
+@@ -29,6 +29,14 @@
#include <sys/wait.h>
#include <signal.h>
+ #include <assert.h>
+#if HAVE_WCHAR_H
+# include <wchar.h>
+#endif
#include "system.h"
#include "argmatch.h"
#include "error.h"
-@@ -167,12 +176,34 @@ static int thousands_sep;
+@@ -166,12 +174,34 @@ static int thousands_sep;
/* Nonzero if the corresponding locales are hard. */
static bool hard_LC_COLLATE;
/* The kind of blanks for '-b' to skip in various options. */
enum blanktype { bl_start, bl_end, bl_both };
-@@ -343,13 +374,11 @@ static bool reverse;
+@@ -345,13 +375,11 @@ static bool reverse;
they were read if all keys compare equal. */
static bool stable;
/* Flag to remove consecutive duplicate lines from the output.
Only the last of a sequence of equal lines will be output. */
-@@ -782,6 +811,46 @@ reap_all (void)
+@@ -784,6 +812,46 @@ reap_all (void)
reap (-1);
}
/* Clean up any remaining temporary files. */
static void
-@@ -1214,7 +1283,7 @@ zaptemp (char const *name)
+@@ -1224,7 +1292,7 @@ zaptemp (char const *name)
free (node);
}
static int
struct_month_cmp (void const *m1, void const *m2)
-@@ -1229,7 +1298,7 @@ struct_month_cmp (void const *m1, void c
+@@ -1239,7 +1307,7 @@ struct_month_cmp (void const *m1, void c
/* Initialize the character class tables. */
static void
{
size_t i;
-@@ -1241,7 +1310,7 @@ inittables (void)
+@@ -1251,7 +1319,7 @@ inittables (void)
fold_toupper[i] = toupper (i);
}
/* If we're not in the "C" locale, read different names for months. */
if (hard_LC_TIME)
{
-@@ -1323,6 +1392,84 @@ specify_nmerge (int oi, char c, char con
+@@ -1333,6 +1401,84 @@ specify_nmerge (int oi, char c, char con
xstrtol_fatal (e, oi, c, long_options, s);
}
/* Specify the amount of main memory to use when sorting. */
static void
specify_sort_size (int oi, char c, char const *s)
-@@ -1551,7 +1698,7 @@ buffer_linelim (struct buffer const *buf
+@@ -1565,7 +1711,7 @@ buffer_linelim (struct buffer const *buf
by KEY in LINE. */
static char *
{
char *ptr = line->text, *lim = ptr + line->length - 1;
size_t sword = key->sword;
-@@ -1560,10 +1707,10 @@ begfield (struct line const *line, struc
+@@ -1574,10 +1720,10 @@ begfield (struct line const *line, struc
/* The leading field separator itself is included in a field when -t
is absent. */
++ptr;
if (ptr < lim)
++ptr;
-@@ -1589,11 +1736,70 @@ begfield (struct line const *line, struc
+@@ -1603,11 +1749,70 @@ begfield (struct line const *line, struc
return ptr;
}
{
char *ptr = line->text, *lim = ptr + line->length - 1;
size_t eword = key->eword, echar = key->echar;
-@@ -1608,10 +1814,10 @@ limfield (struct line const *line, struc
+@@ -1622,10 +1827,10 @@ limfield (struct line const *line, struc
'beginning' is the first character following the delimiting TAB.
Otherwise, leave PTR pointing at the first 'blank' character after
the preceding field. */
++ptr;
if (ptr < lim && (eword || echar))
++ptr;
-@@ -1657,10 +1863,10 @@ limfield (struct line const *line, struc
+@@ -1671,10 +1876,10 @@ limfield (struct line const *line, struc
*/
/* Make LIM point to the end of (one byte past) the current field. */
if (newlim)
lim = newlim;
}
-@@ -1691,6 +1897,130 @@ limfield (struct line const *line, struc
+@@ -1705,6 +1910,130 @@ limfield (struct line const *line, struc
return ptr;
}
/* Fill BUF reading from FP, moving buf->left bytes from the end
of buf->buf to the beginning first. If EOF is reached and the
file wasn't terminated by a newline, supply one. Set up BUF's line
-@@ -1777,8 +2107,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
+@@ -1791,8 +2120,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
else
{
if (key->skipsblanks)
line->keybeg = line_start;
}
}
-@@ -1899,7 +2243,7 @@ human_numcompare (char const *a, char co
+@@ -1913,7 +2256,7 @@ human_numcompare (char const *a, char co
hideously fast. */
static int
{
while (blanks[to_uchar (*a)])
a++;
-@@ -1909,6 +2253,25 @@ numcompare (char const *a, char const *b
+@@ -1923,6 +2266,25 @@ numcompare (char const *a, char const *b
return strnumcmp (a, b, decimal_point, thousands_sep);
}
/* Work around a problem whereby the long double value returned by glibc's
strtold ("NaN", ...) contains uninitialized bits: clear all bytes of
A and B before calling strtold. FIXME: remove this function once
-@@ -1959,7 +2322,7 @@ general_numcompare (char const *sa, char
+@@ -1973,7 +2335,7 @@ general_numcompare (char const *sa, char
Return 0 if the name in S is not recognized. */
static int
{
size_t lo = 0;
size_t hi = MONTHS_PER_YEAR;
-@@ -2234,15 +2597,14 @@ debug_key (struct line const *line, stru
+@@ -2248,15 +2610,14 @@ debug_key (struct line const *line, stru
char saved = *lim;
*lim = '\0';
else if (key->general_numeric)
ignore_value (strtold (beg, &tighter_lim));
else if (key->numeric || key->human_numeric)
-@@ -2386,7 +2748,7 @@ key_warnings (struct keyfield const *gke
+@@ -2400,7 +2761,7 @@ key_warnings (struct keyfield const *gke
bool maybe_space_aligned = !hard_LC_COLLATE && default_key_compare (key)
&& !(key->schar || key->echar);
bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y */
&& ((!key->skipsblanks && !(implicit_skip || maybe_space_aligned))
|| (!key->skipsblanks && key->schar)
|| (!key->skipeblanks && key->echar)))
-@@ -2444,11 +2806,83 @@ key_warnings (struct keyfield const *gke
+@@ -2458,11 +2819,83 @@ key_warnings (struct keyfield const *gke
error (0, 0, _("option '-r' only applies to last-resort comparison"));
}
{
struct keyfield *key = keylist;
-@@ -2533,7 +2967,7 @@ keycompare (struct line const *a, struct
+@@ -2547,7 +2980,7 @@ keycompare (struct line const *a, struct
else if (key->human_numeric)
diff = human_numcompare (ta, tb);
else if (key->month)
else if (key->random)
diff = compare_random (ta, tlena, tb, tlenb);
else if (key->version)
-@@ -2649,6 +3083,180 @@ keycompare (struct line const *a, struct
+@@ -2663,6 +3096,180 @@ keycompare (struct line const *a, struct
return key->reverse ? -diff : diff;
}
/* Compare two lines A and B, returning negative, zero, or positive
depending on whether A compares less than, equal to, or greater than B. */
-@@ -4109,7 +4717,7 @@ main (int argc, char **argv)
+@@ -4158,7 +4765,7 @@ main (int argc, char **argv)
initialize_exit_failure (SORT_FAILURE);
hard_LC_COLLATE = hard_locale (LC_COLLATE);
hard_LC_TIME = hard_locale (LC_TIME);
#endif
-@@ -4130,6 +4738,29 @@ main (int argc, char **argv)
+@@ -4179,6 +4786,29 @@ main (int argc, char **argv)
thousands_sep = -1;
}
have_read_stdin = false;
inittables ();
-@@ -4400,13 +5031,34 @@ main (int argc, char **argv)
+@@ -4453,13 +5083,34 @@ main (int argc, char **argv)
case 't':
{
else
{
/* Provoke with 'sort -txx'. Complain about
-@@ -4417,9 +5069,12 @@ main (int argc, char **argv)
+@@ -4470,9 +5121,12 @@ main (int argc, char **argv)
quote (optarg));
}
}
}
break;
-diff -urNp coreutils-8.16-orig/src/unexpand.c coreutils-8.16/src/unexpand.c
---- coreutils-8.16-orig/src/unexpand.c 2012-03-24 21:26:51.000000000 +0100
-+++ coreutils-8.16/src/unexpand.c 2012-03-26 17:51:46.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/unexpand.c coreutils-8.19/src/unexpand.c
+--- coreutils-8.19-orig/src/unexpand.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/unexpand.c 2012-08-20 13:52:04.081596774 +0200
@@ -38,12 +38,29 @@
#include <stdio.h>
#include <getopt.h>
if (have_read_stdin && fclose (stdin) != 0)
error (EXIT_FAILURE, errno, "-");
-diff -urNp coreutils-8.16-orig/src/uniq.c coreutils-8.16/src/uniq.c
---- coreutils-8.16-orig/src/uniq.c 2012-03-24 21:26:51.000000000 +0100
-+++ coreutils-8.16/src/uniq.c 2012-03-26 17:35:09.000000000 +0200
+diff -urNp coreutils-8.19-orig/src/uniq.c coreutils-8.19/src/uniq.c
+--- coreutils-8.19-orig/src/uniq.c 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/src/uniq.c 2012-08-20 13:52:04.083502506 +0200
@@ -21,6 +21,16 @@
#include <getopt.h>
#include <sys/types.h>
skip_chars = 0;
skip_fields = 0;
check_chars = SIZE_MAX;
-diff -urNp coreutils-8.16-orig/tests/Makefile.am coreutils-8.16/tests/Makefile.am
---- coreutils-8.16-orig/tests/Makefile.am 2012-03-26 18:01:35.564014659 +0200
-+++ coreutils-8.16/tests/Makefile.am 2012-03-26 18:02:01.023015013 +0200
-@@ -242,6 +242,7 @@ TESTS = \
+diff -urNp coreutils-8.19-orig/tests/Makefile.am coreutils-8.19/tests/Makefile.am
+--- coreutils-8.19-orig/tests/Makefile.am 2012-08-20 13:51:39.856841699 +0200
++++ coreutils-8.19/tests/Makefile.am 2012-08-20 13:52:04.085491266 +0200
+@@ -247,6 +247,7 @@ TESTS = \
misc/sort-debug-warn \
misc/sort-discrim \
misc/sort-files0-from \
misc/sort-float \
misc/sort-merge \
misc/sort-merge-fdlimit \
-@@ -537,6 +538,10 @@ TESTS = \
+@@ -551,6 +552,10 @@ TESTS = \
$(root_tests)
pr_data = \
pr/0F \
pr/0FF \
pr/0FFnt \
-diff -urNp coreutils-8.16-orig/tests/misc/cut coreutils-8.16/tests/misc/cut
---- coreutils-8.16-orig/tests/misc/cut 2012-02-03 10:22:06.000000000 +0100
-+++ coreutils-8.16/tests/misc/cut 2012-03-26 17:40:49.000000000 +0200
+diff -urNp coreutils-8.19-orig/tests/misc/cut coreutils-8.19/tests/misc/cut
+--- coreutils-8.19-orig/tests/misc/cut 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/tests/misc/cut 2012-08-20 13:52:04.086593767 +0200
@@ -23,14 +23,15 @@ use strict;
# Turn off localization of executable's output.
@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
['inval2', qw(-f -), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
['inval3', '-f', '4,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
['inval4', '-f', '1-2,-', {IN=>''}, {OUT=>''}, {EXIT=>1},
-diff -urNp coreutils-8.16-orig/tests/misc/mb1.I coreutils-8.16/tests/misc/mb1.I
---- coreutils-8.16-orig/tests/misc/mb1.I 1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.16/tests/misc/mb1.I 2012-03-26 17:35:09.000000000 +0200
+diff -urNp coreutils-8.19-orig/tests/misc/expand coreutils-8.19/tests/misc/expand
+--- coreutils-8.19-orig/tests/misc/expand 2012-07-21 16:54:31.000000000 +0200
++++ coreutils-8.19/tests/misc/expand 2012-08-20 13:55:44.188467648 +0200
+@@ -23,6 +23,15 @@ use strict;
+ # Turn off localization of executable's output.
+ @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
+
++# uncommented according to upstream commit enabling multibyte paths
++my $mb_locale = $ENV{LOCALE_FR_UTF8};
++! defined $mb_locale || $mb_locale eq 'none'
++ and $mb_locale = 'C';
++
++my $prog = 'expand';
++my $try = "Try \`$prog --help' for more information.\n";
++my $inval = "$prog: invalid byte, character or field list\n$try";
++
+ my @Tests =
+ (
+ ['t1', '--tabs=3', {IN=>"a\tb"}, {OUT=>"a b"}],
+@@ -31,6 +40,37 @@ my @Tests =
+ ['i2', '--tabs=3 -i', {IN=>" \ta\tb"}, {OUT=>" a\tb"}],
+ );
+
++if ($mb_locale ne 'C')
++ {
++ # Duplicate each test vector, appending "-mb" to the test name and
++ # inserting {ENV => "LC_ALL=$mb_locale"} in the copy, so that we
++ # provide coverage for the distro-added multi-byte code paths.
++ my @new;
++ foreach my $t (@Tests)
++ {
++ my @new_t = @$t;
++ my $test_name = shift @new_t;
++
++ # Depending on whether expand is multi-byte-patched,
++ # it emits different diagnostics:
++ # non-MB: invalid byte or field list
++ # MB: invalid byte, character or field list
++ # Adjust the expected error output accordingly.
++ if (grep {ref $_ eq 'HASH' && exists $_->{ERR} && $_->{ERR} eq $inval}
++ (@new_t))
++ {
++ my $sub = {ERR_SUBST => 's/, character//'};
++ push @new_t, $sub;
++ push @$t, $sub;
++ }
++ push @new, ["$test_name-mb", @new_t, {ENV => "LC_ALL=$mb_locale"}];
++ }
++ push @Tests, @new;
++ }
++
++
++@Tests = triple_test \@Tests;
++
+ my $save_temps = $ENV{DEBUG};
+ my $verbose = $ENV{VERBOSE};
+
+diff -urNp coreutils-8.19-orig/tests/misc/mb1.I coreutils-8.19/tests/misc/mb1.I
+--- coreutils-8.19-orig/tests/misc/mb1.I 1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.19/tests/misc/mb1.I 2012-08-20 13:52:04.086593767 +0200
@@ -0,0 +1,4 @@
+Appleï¼ 10
+Bananaï¼ 5
+Citrusï¼ 20
+Cherryï¼ 30
-diff -urNp coreutils-8.16-orig/tests/misc/mb1.X coreutils-8.16/tests/misc/mb1.X
---- coreutils-8.16-orig/tests/misc/mb1.X 1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.16/tests/misc/mb1.X 2012-03-26 17:35:09.000000000 +0200
+diff -urNp coreutils-8.19-orig/tests/misc/mb1.X coreutils-8.19/tests/misc/mb1.X
+--- coreutils-8.19-orig/tests/misc/mb1.X 1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.19/tests/misc/mb1.X 2012-08-20 13:52:04.087526516 +0200
@@ -0,0 +1,4 @@
+Bananaï¼ 5
+Appleï¼ 10
+Citrusï¼ 20
+Cherryï¼ 30
-diff -urNp coreutils-8.16-orig/tests/misc/mb2.I coreutils-8.16/tests/misc/mb2.I
---- coreutils-8.16-orig/tests/misc/mb2.I 1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.16/tests/misc/mb2.I 2012-03-26 17:35:09.000000000 +0200
+diff -urNp coreutils-8.19-orig/tests/misc/mb2.I coreutils-8.19/tests/misc/mb2.I
+--- coreutils-8.19-orig/tests/misc/mb2.I 1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.19/tests/misc/mb2.I 2012-08-20 13:52:04.088593815 +0200
@@ -0,0 +1,4 @@
+Appleï¼ ï¼¡ï¼¡10ï¼ ï¼ 20
+Bananaï¼ ï¼¡ï¼¡5ï¼ ï¼ 30
+Citrusï¼ ï¼¡ï¼¡20ï¼ ï¼ 5
+Cherryï¼ ï¼¡ï¼¡30ï¼ ï¼ 10
-diff -urNp coreutils-8.16-orig/tests/misc/mb2.X coreutils-8.16/tests/misc/mb2.X
---- coreutils-8.16-orig/tests/misc/mb2.X 1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.16/tests/misc/mb2.X 2012-03-26 17:35:09.000000000 +0200
+diff -urNp coreutils-8.19-orig/tests/misc/mb2.X coreutils-8.19/tests/misc/mb2.X
+--- coreutils-8.19-orig/tests/misc/mb2.X 1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.19/tests/misc/mb2.X 2012-08-20 13:52:04.088593815 +0200
@@ -0,0 +1,4 @@
+Citrusï¼ ï¼¡ï¼¡20ï¼ ï¼ 5
+Cherryï¼ ï¼¡ï¼¡30ï¼ ï¼ 10
+Appleï¼ ï¼¡ï¼¡10ï¼ ï¼ 20
+Bananaï¼ ï¼¡ï¼¡5ï¼ ï¼ 30
-diff -urNp coreutils-8.16-orig/tests/misc/sort-mb-tests coreutils-8.16/tests/misc/sort-mb-tests
---- coreutils-8.16-orig/tests/misc/sort-mb-tests 1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.16/tests/misc/sort-mb-tests 2012-03-26 17:35:09.000000000 +0200
+diff -urNp coreutils-8.19-orig/tests/misc/sort-mb-tests coreutils-8.19/tests/misc/sort-mb-tests
+--- coreutils-8.19-orig/tests/misc/sort-mb-tests 1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.19/tests/misc/sort-mb-tests 2012-08-20 13:52:04.089593318 +0200
@@ -0,0 +1,58 @@
+#! /bin/sh
+case $# in
diff -Nur a/tests/Makefile.am b/tests/Makefile.am
---- a/tests/Makefile.am 2012-03-24 19:22:13.000000000 +0100
-+++ b/tests/Makefile.am 2012-04-28 15:42:22.861910633 +0200
+--- a/tests/Makefile.am 2012-08-18 08:02:47.000000000 +0200
++++ b/tests/Makefile.am 2012-08-26 14:57:03.065516651 +0200
@@ -24,7 +24,6 @@
root_tests = \
cp/preserve-gid \
cp/special-bits \
cp/cp-mv-enotsup-xattr \
-@@ -195,7 +194,6 @@
+@@ -199,7 +198,6 @@
misc/groups-version \
misc/head-c \
misc/head-pos \
- misc/id-context \
misc/id-groups \
+ misc/id-setgid \
misc/md5sum \
- misc/md5sum-bsd \
-@@ -408,12 +406,10 @@
+@@ -252,7 +250,6 @@
+ misc/sort-merge \
+ misc/sort-merge-fdlimit \
+ misc/sort-month \
+- misc/sort-exit-early \
+ misc/sort-rand \
+ misc/sort-spinlock-abuse \
+ misc/sort-stale-thread-mem \
+@@ -421,12 +418,10 @@
du/trailing-slash \
du/two-args \
id/gnu-zero-uids \
./configure \
%{configure_options}
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
end
install_cmds
###############################################################################
name = dos2unix
-version = 5.1.1
+version = 6.0.2
release = 1
groups = Applications/Text
summary = Text file format converters.
description
- Convert text files with DOS or Mac line endings to Unix line endings and \
+ Convert text files with DOS or Mac line endings to Unix line endings and
vice versa.
end
-source_dl =
+source_dl = http://waterlan.home.xs4all.nl/dos2unix/
build
requires
###############################################################################
name = dracut
-version = 019
+version = 024
release = 2
arch = noarch
dracutlibdir = %{prefix}/lib/dracut
- install
- make install DESTDIR=%{BUILDROOT} \
- sysconfdir=/etc mandir=/usr/share/man
+ make_install_targets += \
+ sysconfdir=%{sysconfdir} \
+ libdir=%{dracutlibdir} \
+ mandir=%{mandir}
+ install_cmds
# Install local configuration.
mkdir -pv %{BUILDROOT}/etc/dracut.conf.d
cp -vf %{DIR_SOURCE}/ipfire.conf %{BUILDROOT}/etc/dracut.conf.d/ipfire.conf
lvm2
mdadm
sysvinit
+ systemd >= 187
udev
util-linux
which
i18n_vars="/etc/vconsole.conf:KEYTABLE-KEYMAP,SYSFONT-FONT,FONTACM-FONT_MAP,FONT_UNIMAP"
#add_dracutmodules+=" "
stdloglvl=3
-prefix=/run/initramfs
+prefix="/"
+systemdutildir=/usr/lib/systemd
+systemdsystemunitdir=/usr/lib/systemd/system
+udevdir=/usr/lib/udev
+add_dracutmodules+=" systemd "
+realinitpath="/usr/lib/systemd/systemd"
+kernel_cmdline+=" rd.auto=1 "
###############################################################################
name = glib2
-ver_major = 2.31
-version = %{ver_major}.2
-release = 2
+ver_major = 2.35
+ver_minor = 1
+version = %{ver_major}.%{ver_minor}
+release = 1
thisapp = glib-%{version}
+maintainer = Erik Kapfer <erik.kapfer@ipfire.org>
groups = System/Libraries
url = http://www.gtk.org
license = LGPLv2+
name = glibc
version = 2.16.0
-release = 3
+release = 4
maintainer = Michael Tremer <michael.tremer@ipfire.org>
groups = System/Base
--with-selinux \
--disable-werror \
--enable-bind-now \
- --enable-nss-crypt
+ --enable-nss-crypt \
+ --enable-obsolete-rpc
if "%{DISTRO_ARCH}" == "armv5tel"
# Disable hardware FP for ARM.
build
build
- CFLAGS="%{CFLAGS}" make %{PARALELLIAMFLAGS} \
+ CFLAGS="%{CFLAGS}" make %{PARALLELISMFLAGS} \
STRIP=/bin/true LDFLAGS=
end
name = libnetfilter_conntrack
version = 1.0.2
-release = 2
+release = 3
groups = System/Libraries
url = http://www.netfilter.org/projects/libnetfilter_conntrack/index.html
sources = %{thisapp}.tar.bz2
build
- # Disable any optimization.
- if "%{DISTRO_ARCH}" == "i686"
- CFLAGS += -O0
- end
-
requires
+ autoconf
+ automake
libmnl-devel >= 1.0.3
libnfnetlink-devel
- pkg-config
+ end
+
+ prepare_cmds
+ sed -e "s/-Wc,-nostartfiles//g" -i src/Makefile*
+ autoreconf -vfi
end
make_build_targets += V=1
name = libnetfilter_log
version = 1.0.1
-release = 1
+release = 2
groups = System/Libraries
url = http://www.netfilter.org/projects/libnetfilter_log/downloads.html
build
requires
+ autoconf
+ automake
libnfnetlink-devel
end
- # Disable any optimization because of
- # https://bugzilla.ipfire.org/show_bug.cgi?id=10018
- if "%{DISTRO_ARCH}" == "i686"
- CFLAGS += -O0
+ prepare_cmds
+ sed -e "s/-Wc,-nostartfiles//g" -i src/Makefile*
+ autoreconf -vfi
end
make_build_targets += CFLAGS="%{CFLAGS}"
build
make clean
- make CFLAGS="%{CFLAGS}" %{PARALELLISMFLAGS}
+ make CFLAGS="%{CFLAGS}" %{PARALLELISMFLAGS}
end
# Install libraries to correct place.
-DENABLE_PERL=0 \
-DENABLE_PYTHON=0 \
-DENABLE_RUBY=0
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
end
install
###############################################################################
name = libssh2
-version = 1.2.7
+version = 1.4.2
release = 1
groups = System/Libraries
summary = A library implementing the SSH2 protocol.
description
- libssh2 is a library implementing the SSH2 protocol as defined by \
- Internet Drafts: SECSH-TRANS(22), SECSH-USERAUTH(25), \
- SECSH-CONNECTION(23), SECSH-ARCH(20), SECSH-FILEXFER(06)*, \
+ libssh2 is a library implementing the SSH2 protocol as defined by
+ Internet Drafts: SECSH-TRANS(22), SECSH-USERAUTH(25),
+ SECSH-CONNECTION(23), SECSH-ARCH(20), SECSH-FILEXFER(06)*,
SECSH-DHGEX(04), and SECSH-NUMBERS(10).
end
-source_dl =
+source_dl = http://www.libssh2.org/download/
build
requires
###############################################################################
name = mdadm
-version = 3.2.2
-release = 2
+version = 3.2.6
+release = 1
groups = System/Base
url = http://www.kernel.org/pub/linux/utils/raid/mdadm/
file can be used to help with some common tasks.
end
-source_dl =
+source_dl = https://www.kernel.org/pub/linux/utils/raid/mdadm/
+sources = %{thisapp}.tar.xz
build
requires
name = mstpd
version = 0.01
-svn_ver = 30
-release = 0.5-svn%{svn_ver}.1
+svn_ver = 35
+release = 0.6-svn%{svn_ver}.1
thisapp = %{name}-%{version}-svn%{svn_ver}
groups = Networking/Tools
script preun
/bin/systemctl --no-reload disable mstpd.service >/dev/null 2>&1 || :
- /bin/systemctl stop rstp.service >/dev/null 2>&1 || :
+ /bin/systemctl stop mstpd.service >/dev/null 2>&1 || :
end
script postup
name = network
epoch = 1
version = 005
-release = 1.3
+release = 2
arch = noarch
maintainer = Michael Tremer <michael.tremer@ipfire.org>
install_cmds
# Create some dummy configuration files.
mkdir -pv %{BUILDROOT}%{sysconfdir}/{firewall,network}
- touch %{BUILDROOT}%{sysconfdir}/network/{config,dns-servers}
+ touch %{BUILDROOT}%{sysconfdir}/network/{config,dns-servers,routes}
end
end
###############################################################################
name = nmap
-version = 5.51
+version = 6.01
release = 1
groups = Networking/Sniffer
predictability characteristics, reverse-identd scanning, and more.
end
-source_dl =
+source_dl = http://nmap.org/dist/
sources = %{thisapp}.tar.bz2
build
name = pakfire
version = 0.9.23
-release = 4
+release = 5
maintainer = Michael Tremer <michael.tremer@ipfire.org>
groups = System/Packaging
--- /dev/null
+From 8cc622fa66158e02caf366faa993434cf41d28f3 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 21 Oct 2012 22:19:26 +0200
+Subject: [PATCH] patches: Add platform patches.
+
+---
+ macros/constants.macro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/macros/constants.macro b/macros/constants.macro
+index 74484ea..2163a8b 100644
+--- a/macros/constants.macro
++++ b/macros/constants.macro
+@@ -11,7 +11,7 @@ DIR_SOURCE = %{BASEDIR}
+
+ # By default, take all patches from the patches directory
+ # in alphabetical order.
+-patches = $(find %{DIR_PATCHES} -not -type d 2>/dev/null | sort --version-sort)
++patches = %(find %{DIR_PATCHES} %{DIR_PATCHES}/%{DISTRO_ARCH} -not -type d -maxdepth 1 2>/dev/null | sort --version-sort)
+ sources = %{thisapp}.tar.gz
+
+ # Macro definitions
+--
+1.7.11.7
+
name = pdns-recursor
version = 3.3
-release = 7
+release = 9
groups = Networking/DNS
url = http://powerdns.com/
install
make install DESTDIR=%{BUILDROOT} \
- CONFIGDIR=/etc/%{name}
+ CONFIGDIR="%{sysconfdir}/pdns"
# Remove sysvinit file
rm -rf %{BUILDROOT}/etc/init.d
# Remove shipped config file
- rm -rf %{BUILDROOT}/etc/%{name}/recursor.conf-dist
+ rm -rf %{BUILDROOT}%{sysconfdir}/pdns/recursor.conf-dist
# Install our default config file
- cp -vf %{DIR_SOURCE}/recursor.conf %{BUILDROOT}/etc/%{name}/recursor.conf
+ cp -vf %{DIR_SOURCE}/recursor.conf \
+ %{BUILDROOT}%{sysconfdir}/pdns/recursor.conf
# Create folder for chroot
mkdir -pv %{BUILDROOT}/var/lib/pdns-recursor
packages
package %{name}
configfiles
- /etc/%{name}/recursor.conf
+ %{sysconfdir}/pdns/recursor.conf
end
prerequires
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info@ipfire.org> #
+###############################################################################
-# XXX IPv6 listen on :: cannot be created. Says Address is already in use.
-local-address=0.0.0.0 ::1
+# Listen settings
+local-address=::1
+local-port=54
+# Socket settings
socket-dir=/run/pdns-recursor
socket-group=pdns-recursor
socket-owner=pdns-recursor
[Unit]
-Description=Power DNS Recursor
+Description=Power DNS Recursor Daemon
After=network.target
[Service]
-ExecStart=/usr/sbin/pdns_recursor --daemon=no
+ExecStart=/usr/sbin/pdns_recursor --config-dir=/etc/pdns --daemon=no
ExecStopPost=/bin/rm -f /run/pdns-recursor/pdns_recursor.pid
ExecStopPost=/bin/rm -f /run/pdns-recursor/pdns_recursor.controlsocket
-Restart=always
+Restart=on-failure
[Install]
WantedBy=multi-user.target
--- /dev/null
+diff -Nur a/configure.ac b/configure.ac
+--- a/configure.ac 2012-05-04 12:13:23.000000000 +0200
++++ b/configure.ac 2012-10-13 17:10:49.686258971 +0200
+@@ -162,6 +162,32 @@
+ fi
+ AC_MSG_RESULT($enable_verbose_logging)
+
++AC_MSG_CHECKING(whether we will try to link in system PolarSSL)
++AC_ARG_WITH([system-polarssl],
++ [AC_HELP_STRING([--without-system-polarssl], [Do not use system PolarSSL])],
++ [system_polarssl=$withval],
++ [system_polarssl=yes])
++AC_MSG_RESULT($system_polarssl)
++AM_CONDITIONAL(HAVE_LIBPOLARSSL, false)
++if test x$system_polarssl = xyes; then
++ AC_MSG_CHECKING([PolarSSL version >= 1.1])
++ AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM(
++ [[
++#include <polarssl/version.h>
++ ]],
++ [[
++#if POLARSSL_VERSION_MAJOR < 1 || (POLARSSL_VERSION_MAJOR == 1 && POLARSSL_VERSION_MINOR < 1)
++#error invalid version
++#endif
++ ]]
++ )], [use_system_polarssl=yes], [use_system_polarssl=no])
++ AC_MSG_RESULT($use_system_polarssl)
++fi
++if test x$use_system_polarssl = xyes; then
++ AC_CHECK_LIB([polarssl], [sha1_hmac])
++fi
++
+ AC_MSG_CHECKING(whether we will be linking in Botan 1.10)
+ AC_ARG_ENABLE(botan1.10,
+ [ --enable-botan1.10 Use Botan 1.10],enable_botan110=yes, enable_botan110=no)
+diff -Nur a/pdns/Makefile.am b/pdns/Makefile.am
+--- a/pdns/Makefile.am 2012-05-04 12:13:23.000000000 +0200
++++ b/pdns/Makefile.am 2012-10-13 17:11:56.293629151 +0200
+@@ -1,4 +1,8 @@
+-AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) -Iext/polarssl-1.1.2/include
++if HAVE_LIBPOLARSSL
++AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) -DPDNS_ENABLE_LUA
++else
++AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) -Iext/polarssl-1.1.2/include -DPDNS_ENABLE_LUA
++endif
+ AM_CPPFLAGS=-Ibackends/bind $(BOOST_CPPFLAGS) @THREADFLAGS@
+
+ EXTRA_DIST = dnslabeltext.rl dnslabeltext.cc mtasker.cc inflighter.cc docs/pdns_control.8 \
+@@ -7,7 +11,11 @@
+ no-dnssec.schema.mysql.sql no-dnssec.schema.pgsql.sql no-dnssec.schema.sqlite3.sql \
+ bind-dnssec.schema.sqlite3.sql
+
++if HAVE_LIBPOLARSSL
++SUBDIRS= backends
++else
+ SUBDIRS= ext/polarssl-1.1.2 backends
++endif
+
+ BUILT_SOURCES=bind-dnssec.schema.sqlite3.sql.h
+
+@@ -130,7 +138,11 @@
+ aes/aescrypt.c aes/aes.h aes/aeskey.c aes/aes_modes.c aes/aesopt.h \
+ aes/aestab.c aes/aestab.h aes/brg_endian.h aes/brg_types.h aes/dns_random.cc \
+ randomhelper.cc dns.cc
++if HAVE_LIBPOLARSSL
++tsig_tests_LDFLAGS=
++else
+ tsig_tests_LDFLAGS= -Lext/polarssl-1.1.2/library
++endif
+ tsig_tests_LDADD= -lpolarssl
+
+
+diff -Nur a/pdns/backends/bind/Makefile.am b/pdns/backends/bind/Makefile.am
+--- a/pdns/backends/bind/Makefile.am 2012-05-04 12:13:23.000000000 +0200
++++ b/pdns/backends/bind/Makefile.am 2012-10-13 17:10:49.691259001 +0200
+@@ -34,10 +34,18 @@
+ ../../nsecrecords.cc ../../dnssecinfra.cc ../../base32.cc ../../md5.cc # ../../dbdnsseckeeper.cc
+
+ zone2ldap_LDFLAGS=@THREADFLAGS@
++if HAVE_LIBPOLARSSL
++zone2ldap_LDADD=
++else
+ zone2ldap_LDADD= ../../ext/polarssl-1.1.2/library/libpolarssl.a
++endif
+
+ zone2sql_LDFLAGS=@THREADFLAGS@
++if HAVE_LIBPOLARSSL
++zone2sql_LDADD=
++else
+ zone2sql_LDADD= ../../ext/polarssl-1.1.2/library/libpolarssl.a
++endif
+
+ AM_LFLAGS = -s -i
+ AM_YFLAGS = -d --verbose --debug
+diff -Nur a/pdns/dnssecinfra.cc b/pdns/dnssecinfra.cc
+--- a/pdns/dnssecinfra.cc 2012-05-04 12:13:23.000000000 +0200
++++ b/pdns/dnssecinfra.cc 2012-10-13 17:10:49.690258995 +0200
+@@ -9,7 +9,11 @@
+ #include <boost/algorithm/string.hpp>
+ #include "dnssecinfra.hh"
+ #include "dnsseckeeper.hh"
++#ifdef HAVE_LIBPOLARSSL
++#include <polarssl/sha1.h>
++#else
+ #include "ext/polarssl-1.1.2/include/polarssl/sha1.h"
++#endif
+ #include <boost/assign/std/vector.hpp> // for 'operator+=()'
+ #include <boost/assign/list_inserter.hpp>
+ #include "base64.hh"
+diff -Nur a/pdns/polarrsakeyinfra.cc b/pdns/polarrsakeyinfra.cc
+--- a/pdns/polarrsakeyinfra.cc 2012-05-04 12:13:23.000000000 +0200
++++ b/pdns/polarrsakeyinfra.cc 2012-10-13 17:10:49.689258989 +0200
+@@ -1,9 +1,18 @@
++#ifdef HAVE_LIBPOLARSSLSSL
++#include <polarssl/rsa.h>
++#include <polarssl/base64.h>
++#include <polarssl/sha1.h>
++#include <polarssl/sha2.h>
++#include <polarssl/sha4.h>
++#include <polarssl/havege.h>
++#else
+ #include "ext/polarssl-1.1.2/include/polarssl/rsa.h"
+ #include "ext/polarssl-1.1.2/include/polarssl/base64.h"
+ #include "ext/polarssl-1.1.2/include/polarssl/sha1.h"
+ #include "ext/polarssl-1.1.2/include/polarssl/sha2.h"
+ #include "ext/polarssl-1.1.2/include/polarssl/sha4.h"
+ #include "ext/polarssl-1.1.2/include/polarssl/havege.h"
++#endif
+ #include <boost/assign/std/vector.hpp> // for 'operator+=()'
+ #include <boost/foreach.hpp>
+ #include "dnssecinfra.hh"
###############################################################################
-## #
-## IPFire.org - A linux based firewall #
-## Copyright (C) 2012 IPFire Development Team #
-## #
-## 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 #
-## the Free Software Foundation, either version 3 of the License, or #
-## (at your option) any later version. #
-## #
-## This program 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 General Public License for more details. #
-## #
-## You should have received a copy of the GNU General Public License #
-## along with this program. If not, see <http://www.gnu.org/licenses/>. #
-## #
-################################################################################
-#
-## These file contains the default configuration for the PowerDNS service.
-#
-# An example configuration file with all provided options can be found on
-# /etc/pdns/pdns.conf-dist.
-#
-daemon=no
-socket-dir=/run/pdns/
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info@ipfire.org> #
+###############################################################################
+# This file contains the default configuration for the PowerDNS service.
+socket-dir=/run/pdns
+
+# Listing settings.
+# XXX IPv6 listen on :: cannot be created. Says Address is already in use.
+local-address=0.0.0.0
+local-ipv6=::1
# Run powerdns as the following user and group.
setuid=pdns
#launch=gsqlite3-dnssec
gsqlite3-database=/var/lib/pdns/pdns.db
-# Enable if you also have installed the pdns-recursor.
-#recursor=127.0.0.1:54
+# All queries that could not be answered by ourself get sent to
+# the local recursor.
+recursor=[::1]:54
+allow-recursion=127.0.0.1 ::1
name = pdns
version = 3.1
-release = 2
+release = 5
groups = Networking/DNS
url = http://powerdns.com/
build
requires
+ autoconf
+ automake
boost-devel
chrpath
gcc-c++
+ libtool
lua-devel
+ polarssl-devel
shadow-utils
sqlite-devel
zlib-devel
--disable-static
prepare_cmds
+ # Regenerate build system.
+ autoreconf -vfi
+
%{create_user}
end
# Install default configuration.
install -m 0644 %{DIR_SOURCE}/pdns.conf \
%{BUILDROOT}%{sysconfdir}/pdns/pdns.conf
+ rm -vf %{BUILDROOT}%{sysconfdir}/pdns/pdns.conf-dist
# Create empty database file.
touch %{BUILDROOT}%{sharedstatedir}/pdns/pdns.db
shadow-utils
sqlite
end
+
+ requires
+ pdns-recursor >= 3.3-8
+ end
configfiles
- /etc/pdns/pdns.conf
+ %{sysconfdir}/pdns/pdns.conf
+ end
+
+ datafiles
+ %{sharedstatedir}/pdns/pdns.db
end
script prein
[Unit]
-Description=PDNS DNS Server
-After=syslog.target network.target
+Description=PowerDNS DNS Server Daemon
+After=syslog.target
[Service]
-Type=forking
-ExecStart=/usr/sbin/pdns_server --daemon --guardian=yes
+ExecStart=/usr/sbin/pdns_server --daemon=no
ExecReload=/usr/bin/pdns_control cycle
ExecStop=/usr/bin/pdns_control quit
+Restart=on-failure
[Install]
WantedBy=multi-user.target
+++ /dev/null
-From edde4e0f2b85c6f298569fe219a08361b99b016b Mon Sep 17 00:00:00 2001
-From: Frederic Crozat <fcrozat@suse.com>
-Date: Fri, 20 Jul 2012 13:28:31 +0000
-Subject: systemd: create missing links various targets
-
----
-diff --git a/systemd-units/Makefile.am b/systemd-units/Makefile.am
-index 1545a04..2f5e61f 100644
---- a/systemd-units/Makefile.am
-+++ b/systemd-units/Makefile.am
-@@ -13,6 +13,58 @@ systemd_unit_templates = \
- if ENABLE_SYSTEMD_INTEGRATION
- systemdunitdir=$(SYSTEMD_UNIT_DIR)
- systemdunit_DATA = $(systemd_unit_templates:.in=)
-+
-+install-data-hook:
-+ $(MKDIR_P) -m 0755 \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysinit.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/multi-user.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/reboot.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/kexec.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/poweroff.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/halt.target.wants
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysinit.target.wants && \
-+ rm -f plymouth-start.service plymouth-read-write.service && \
-+ $(LN_S) ../plymouth-start.service && \
-+ $(LN_S) ../plymouth-read-write.service)
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/multi-user.target.wants && \
-+ rm -f plymouth-quit.service plymouth-quit-wait.service && \
-+ $(LN_S) ../plymouth-quit.service && \
-+ $(LN_S) ../plymouth-quit-wait.service)
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/reboot.target.wants && \
-+ rm -f plymouth-reboot.service && \
-+ $(LN_S) ../plymouth-reboot.service)
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/kexec.target.wants && \
-+ rm -f plymouth-kexec.service && \
-+ $(LN_S) ../plymouth-kexec.service)
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/poweroff.target.wants && \
-+ rm -f plymouth-poweroff.service && \
-+ $(LN_S) ../plymouth-poweroff.service)
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/halt.target.wants && \
-+ rm -f plymouth-halt.service && \
-+ $(LN_S) ../plymouth-halt.service)
-+
-+uninstall-hook:
-+ rm -f \
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysinit.target.wants && \
-+ rm -f plymouth-start.service plymouth-read-write.service) \
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/multi-user.target.wants && \
-+ rm -f plymouth-quit.service plymouth-quit-wait.service) \
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/reboot.target.wants && \
-+ rm -f plymouth-reboot.service) \
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/kexec.target.wants && \
-+ rm -f plymouth-kexec.service) \
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/poweroff.target.wants && \
-+ rm -f plymouth-poweroff.service) \
-+ (cd $(DESTDIR)$(SYSTEMD_UNIT_DIR)/halt.target.wants && \
-+ rm -f plymouth-halt.service) \
-+ rmdir --ignore-fail-on-non-empty \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysinit.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/multi-user.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/reboot.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/kexec.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/poweroff.target.wants \
-+ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/halt.target.wants
-+
- endif
-
- EXTRA_DIST = $(systemd_unit_templates) $(systemdunit_DATA)
---
-cgit v0.9.0.2-2-gbebe
###############################################################################
name = plymouth
-version = 0.8.6.1
+version = 0.8.8
release = 1
groups = System/Base
name = python
major_ver = 2.7
version = %{major_ver}.3
-release = 1
+release = 2
thisapp = Python-%{version}
groups = Development/Languages
bzip2-devel
db4-devel >= 1:4.8
expat-devel
+ glibc-headers >= 2.16-4
libffi-devel
libselinux-devel
ncurses-devel
openssl-devel
- pkg-config
+ pakfire-builder >= 0.9.23-4
readline-devel
sqlite-devel
tar
export CFLAGS += -D_GNU_SOURCE -fwrapv
prepare_cmds
- # Apply patches for x86_64.
- if [ "$(uname -m)" = "x86_64" ]; then
- patch -Np1 -i %{DIR_SOURCE}/python-2.7.3-lib64.patch
- patch -Np1 -i %{DIR_SOURCE}/python-2.7-lib64-sysconfig.patch
- fi
-
# Remove embedded copies of expat, zlib and libffi
rm -rf Modules/{expat,zlib}
rm -rf Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
install_cmds
# Build / Install perl bindings.
- make swig-pl-lib %{PARALELLISMFLAGS}
+ make swig-pl-lib %{PARALLELISMFLAGS}
make install-swig-pl-lib DESTDIR=%{BUILDROOT}
cd subversion/bindings/swig/perl/native
# Doesn't allow OPTIMIZE="%{CFLAGS}".
perl Makefile.PL INSTALLDIRS=vendor
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
make pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
end
end
-USRBIN += utmpdump wall
-MAN1 += mountpoint.1 wall.1
-MAN8 += sulogin.8 bootlogd.8
-+SBIN += sulogin
-+USRBIN += utmpdump
++SBIN +=
++USRBIN +=
+MAN1 += mountpoint.1
-+MAN8 += sulogin.8
++MAN8 +=
endif
ifeq ($(DISTRO),Debian)
BIN += mountpoint
-SBIN += sulogin bootlogd
-+SBIN += sulogin
++SBIN +=
MAN1 += mountpoint.1
-MAN8 += sulogin.8 bootlogd.8
-+MAN8 += sulogin.8
++MAN8 +=
endif
ifeq ($(DISTRO),Owl)
name = sysvinit
version = 2.86
-release = 4
+release = 5
groups = System/Base
url = https://alioth.debian.org/projects/pkg-sysvinit/
summary = Programs which control basic system processes.
description
- The sysvinit package contains a group of processes that control \
+ The sysvinit package contains a group of processes that control
the very basic functions of your system.
end
###############################################################################
name = tcpdump
-version = 4.1.1
-release = 2
+version = 4.3.0
+release = 1
groups = Networking/Sniffer
url = http://www.tcpdump.org/
###############################################################################
name = util-linux
-major_ver = 2.21
+major_ver = 2.22
version = %{major_ver}
-release = 4
+release = 1
groups = System/Base
url = http://kernel.org/~kzak/util-linux/
build
requires
audit-devel
+ coreutils >= 8.19
gettext
libcap-devel
libselinux-devel
libsepol-devel
ncurses-devel
pam-devel
+ libudev-devel
zlib-devel
end
-D_FILE_OFFSET_BITS=64
configure_options += \
+ --with-systemdsystemunitdir=%{unitdir} \
--disable-wall \
+ --enable-eject \
--enable-kill \
- --enable-login-utils \
--enable-partx \
--enable-write \
+ --enable-su \
+ --enable-socket-activation \
--enable-libmount-mount \
--with-selinux \
--with-audit \
+ --with-udev \
--disable-makeinstall-chown \
--disable-static
install_cmds
mkdir -pv \
+ %{BUILDROOT}/var/lib/libuuid \
%{BUILDROOT}/var/lib/hwclock \
%{BUILDROOT}/usr/share/man/man8 \
+ %{BUILDROOT}/run/uuidd \
%{BUILDROOT}/var/log
install -m 755 %{DIR_APP}/nologin %{BUILDROOT}%{sbindir}
setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/mount
chmod -v -s %{BUILDROOT}%{bindir}/umount
setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/umount
+
+ # su (set right capabilities)
+ chmod -v u-s %{BUILDROOT}%{bindir}/su
+ setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su
end
end
end
provides
+ eject = %{thisver}
/bin/dmesg
+ /bin/eject
/bin/kill
/bin/more
/bin/mount
+ /bin/su
/bin/umount
/sbin/blkid
/sbin/blockdev
/sbin/nologin
end
- obsoletes = util-linux-ng
+ obsoletes
+ util-linux-ng
+ eject <= 2.1.5
+ end
conflicts
filesystem < 002
+ coreutils < 8.19
setup < 3.0-2
util-linux-ng
sysvinit <= 2.86-2
part of util-linux.
end
+ requires
+ uuidd=%{thisver}
+ end
+
conflicts = filesystem < 002
files
end
end
+ package uuidd
+ summary = Helper daemon to guarantee uniqueness of time-based UUIDs.
+ description
+ The uuidd package contains a userspace daemon (uuidd) which guarantees
+ uniqueness of time-based UUID generation even at very high rates on
+ SMP systems.
+ end
+
+ groups += Base
+
+ files
+ %{sbindir}/uuidd
+ %{mandir}/man8/uuidd.8*
+ %{sharedstatedir}/libuuid
+ %{unitdir}/uuidd*
+ /run/uuidd
+ end
+
+ prerequires += shadow-utils
+
+ script prein
+ getent group uuidd >/dev/null || groupadd -r uuidd
+ getent passwd uuidd >/dev/null || \
+ useradd -r -g uuidd -d %{sharedstatedir}/libuuid -s /sbin/nologin \
+ -c "UUID generator helper daemon" uuidd
+ end
+
+ script postin
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ systemctl enable uuidd.service >/dev/null 2>&1 || :
+ end
+
+ script preun
+ systemctl --no-reload disable uuidd.service >/dev/null 2>&1 || :
+ systemctl stop uuidd.service >/dev/null 2>&1 || :
+ end
+
+ script postun
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ end
+
+ script postup
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ systemctl try-restart uuidd.service >/dev/null 2>&1 || :
+ end
+ end
+
package %{name}-debuginfo
template DEBUGINFO
end
build
# Have to build it this way, else parts of the xen stubdom \
# would get build too.
- make dist-xen %{PARALELLISMFLAGS}
- make dist-tools %{PARALELLISMFLAGS}
+ make dist-xen %{PARALLELISMFLAGS}
+ make dist-tools %{PARALLELISMFLAGS}
end
# Only install xen and tools
autoconf
./configure %{configure_options}
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
fi
done
end
cd ${dir}
./configure %{configure_options}
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
fi
done
end
[ -e configure ] || ./autogen.sh
./configure %{configure_options}
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
done
end
rm -vf xkbparse.c # force regen
./configure %{configure_options}
- make %{PARALELLISMFLAGS}
+ make %{PARALLELISMFLAGS}
done
end