Package: klibc / 2.0.1-3.1

Metadata

Package Version Patches format
klibc 2.0.1-3.1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
ia64 static | (download)

usr/dash/Kbuild | 4 4 + 0 - 0 !
usr/kinit/fstype/Kbuild | 4 4 + 0 - 0 !
usr/kinit/ipconfig/Kbuild | 4 4 + 0 - 0 !
usr/kinit/nfsmount/Kbuild | 4 4 + 0 - 0 !
usr/kinit/resume/Kbuild | 4 4 + 0 - 0 !
usr/kinit/run-init/Kbuild | 4 4 + 0 - 0 !
usr/utils/Kbuild | 4 4 + 0 - 0 !
7 files changed, 28 insertions(+)

 use static tools on ia64
 On IA64, the shared binaries do not work.

ppc64 static | (download)

usr/dash/Kbuild | 2 1 + 1 - 0 !
usr/kinit/fstype/Kbuild | 2 1 + 1 - 0 !
usr/kinit/ipconfig/Kbuild | 2 1 + 1 - 0 !
usr/kinit/nfsmount/Kbuild | 2 1 + 1 - 0 !
usr/kinit/resume/Kbuild | 2 1 + 1 - 0 !
usr/kinit/run-init/Kbuild | 2 1 + 1 - 0 !
usr/utils/Kbuild | 2 1 + 1 - 0 !
7 files changed, 7 insertions(+), 7 deletions(-)

 use static tools on ppc64
 On ppc64, the shared binaries do not work either.

klibc linux libc dev | (download)

scripts/Kbuild.install | 8 7 + 1 - 0 !
1 file changed, 7 insertions(+), 1 deletion(-)

---
insmod | (download)

usr/utils/Kbuild | 4 3 + 1 - 0 !
usr/utils/insmod.c | 140 140 + 0 - 0 !
2 files changed, 143 insertions(+), 1 deletion(-)

---
multiarch include path | (download)

klcc/Kbuild | 1 1 + 0 - 0 !
klcc/klcc.in | 4 4 + 0 - 0 !
2 files changed, 5 insertions(+)

 include the multiarch include directory in klcc's path
 The multiarch include directory, /usr/include/<triplet>, needs to be
 explicitly added to klcc's path; without this, klcc is incompatible
 with recent Ubuntu versions of linux-libc-dev and fails to find any asm/
 headers.
 .
 This change is safe to apply on non-multiarch-enabled systems, since
 $(DEB_HOST_MULTIARCH) will evaluate empty.  However, upstreaming should
 probably wait until we have a way to get this path information in a
 vendor-neutral manner.
Fix minimal mv to work across fs | (download)

usr/utils/mv.c | 236 217 + 19 - 0 !
1 file changed, 217 insertions(+), 19 deletions(-)

 [patch] [klibc] fix minimal mv to work across fs

This is the use case in initramfs to keep data from /run to /root/run
before calling switch_root().

copy_file() doesn't yet catch EINTR, but that seems less of an issue
in initramfs.

copy_file() and much logic out of copy() is from Ulrich Dangel.
Thank you for the collaboration on this blocker for
http://bugs.debian.org/627808

While we are it require move to have mv at least 2 arguments passed.

Signed-off-by: Ulrich Dangel <uli@spamt.net>
Signed-off-by: maximilian attems <max@stro.at>

0001 klibc Avoid overflow for very long variable name.patch | (download)

usr/dash/parser.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] [klibc] avoid overflow for very long variable name

Otherwise, this:
  $ perl -le 'print "v"x(2**31+1) ."=1"' | dash
provokes integer overflow:

  (gdb) bt
  #0  doformat (dest=0x61d580, f=0x416a08 "%s: %d: %s: ", ap=0x7fffffffd308)
      at output.c:310
  #1  0x00000000004128c1 in outfmt (file=0x61d580, fmt=0x416a08 "%s: %d: %s: ")
      at output.c:257
  #2  0x000000000040382e in exvwarning2 (msg=0x417339 "Out of space",
      ap=0x7fffffffd468) at error.c:125
  #3  0x000000000040387e in exverror (cond=1, msg=0x417339 "Out of space",
      ap=0x7fffffffd468) at error.c:156
  #4  0x0000000000403938 in sh_error (msg=0x417339 "Out of space") at error.c:172
  #5  0x000000000040c970 in ckmalloc (nbytes=18446744071562067984)
      at memalloc.c:57
  #6  0x000000000040ca78 in stalloc (nbytes=18446744071562067972)
      at memalloc.c:132
  #7  0x000000000040ece9 in grabstackblock (len=18446744071562067972)
      at memalloc.h:67
  #8  0x00000000004106b5 in readtoken1 (firstc=118, syntax=0x419522 "",
      eofmark=0x0, striptabs=0) at parser.c:1040
  #9  0x00000000004101a4 in xxreadtoken () at parser.c:826
  #10 0x000000000040fe1d in readtoken () at parser.c:697
  #11 0x000000000040edcc in parsecmd (interact=0) at parser.c:145
  #12 0x000000000040c679 in cmdloop (top=1) at main.c:224
  #13 0x000000000040c603 in main (argc=2, argv=0x7fffffffd9f8) at main.c:178

  #8  0x00000000004106b5 in readtoken1 (firstc=118, syntax=0x419522 "",
      eofmark=0x0, striptabs=0) at parser.c:1040
  1040    grabstackblock(len);
  (gdb) p len
  $30 = -2147483644

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: maximilian attems <max@stro.at>

0001 klibc arm fix trashing of callee saved registers in .patch | (download)

usr/klibc/arch/arm/setjmp.S | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 [patch 1/2] [klibc] arm: fix trashing of callee-saved registers in
 thumb setjmp()

fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634890
(although dynamically-linked binaries seem to have another bug)

Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Signed-off-by: maximilian attems <max@stro.at>

0002 klibc arm unbreak armhf shared binaries those with t.patch | (download)

usr/klibc/arch/arm/MCONFIG | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 2/2] [klibc] arm: unbreak armhf shared binaries (those with
 thumb)

The linker command was wrong.

Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Signed-off-by: maximilian attems <max@stro.at>

0001 klibc PATCH fix ARM longjmp with zero val.patch | (download)

usr/klibc/arch/arm/setjmp.S | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 [patch] [klibc] [patch] fix arm longjmp with zero 'val'.

We need to set the condition codes on the ARM.  The previous version was
using a left over condition code from the caller.  Also, use conditional
execution to eliminate branch and reduce size.

Signed-off-by: Bill Pringlemeir <bpringle@sympatico.ca>
[ backported to 3.0.1-2 - maks ]
Signed-off-by: maximilian attems <max@stro.at>