klibc.git
4 years agodash: mkbuiltins: Fix sort order harder
Ben Hutchings [Wed, 9 Sep 2015 01:12:40 +0000 (02:12 +0100)]
dash: mkbuiltins: Fix sort order harder

Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003890.html

LC_COLLATE can be overriden by LC_ALL, so set LC_ALL instead when
running sort.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name dash-mkbuiltins-fix-sort-order-harder.patch

4 years agoInstall headers with consistent mode
Ben Hutchings [Wed, 9 Sep 2015 00:24:56 +0000 (01:24 +0100)]
Install headers with consistent mode

Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003891.html

Currently we ensure the installed headers are readable by everyone,
but write permissions will depend on the current umask.  Turn off the
group and other writable bits to ensure consistent results.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name install-headers-with-consistent-mode.patch

4 years ago[PATCH 3/3] add-mips64-support-arch-mips64-specific
Dejan Latinovic [Fri, 6 Mar 2015 00:51:45 +0000 (16:51 -0800)]
[PATCH 3/3] add-mips64-support-arch-mips64-specific

Origin: https://git.kernel.org/cgit/libs/klibc/klibc.git/commit/?id=3438d861da2e6939a6b0d454ffe247c19ead5993

Description: Adding mips64 specific chagnes.
Modeled on mips 32 and adapted for 64 bit ABI.
 - MCONFIG:  using existing klibc.ld scrpit
 - crt0.S:   adapted gp initialization
 - setjmp.S: do not save floating-point state

Gbp-Pq: Name 0003-add-mips64-support-arch-mips64-specific.patch

4 years ago[PATCH 2/3] add-mips64-support-arch-mips32
Dejan Latinovic [Fri, 6 Mar 2015 00:51:44 +0000 (16:51 -0800)]
[PATCH 2/3] add-mips64-support-arch-mips32

Origin: https://git.kernel.org/cgit/libs/klibc/klibc.git/commit/?id=ccd50880175e79fb9bc544c96d72b8971303cc0a

Description: Add mips64 support, using existing mips32 code.
 - using mips32 assembler source files: pipe.S vfork.S syscall.S
 - sysstub.ph: copied over from klibc/arch/mips

Gbp-Pq: Name 0002-add-mips64-support-arch-mips32.patch

4 years ago[PATCH 1/3] add-mips64-support-headers
Dejan Latinovic [Fri, 6 Mar 2015 00:51:44 +0000 (16:51 -0800)]
[PATCH 1/3] add-mips64-support-headers

Origin: https://git.kernel.org/cgit/libs/klibc/klibc.git/commit/?id=493f9a99220aed4eb7c6e3dd9018c037d45b13e2

Description: Added header files for mips64.
Modeled on mips 32 header files and adapted for 64 bit ABI.
 - archsetjmp.h: do not save floating-point state
 - asm.h:        Symbolic register names for 64 bit ABI

Gbp-Pq: Name 0001-add-mips64-support-headers.patch

4 years ago[klibc] MIPS: Update archfcntl.h
Ben Hutchings [Sun, 5 Oct 2014 00:08:21 +0000 (01:08 +0100)]
[klibc] MIPS: Update archfcntl.h

Bug-Debian: https://bugs.debian.org/763049
Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003879.html

Update usr/include/arch/mips/archfcntl.h from kernel headers:

- Add definitions of O_PATH, O_TMPFILE
- Update value of O_SYNC to include __O_SYNC
- Add definitions of F_{SET,GET}OWN_EX, F_GETOWNER_UIDS,
  F_OFD_{GETLK,SETLK,SETLKW}, F_OWNER_{TID,PID,PGRP}

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name mips-update-archfcntl-h.patch

4 years agomount: Implement -o defaults
Ben Hutchings [Sat, 4 Oct 2014 15:32:39 +0000 (16:32 +0100)]
mount: Implement -o defaults

Bug-Debian: https://bugs.debian.org/763049
Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003887.html

This is needed to support mounting non-root filesystems in
initramfs-tools.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name mount-implement-o-defaults.patch

4 years agoreadlink: Add -f option
Ben Hutchings [Sat, 27 Sep 2014 14:18:21 +0000 (15:18 +0100)]
readlink: Add -f option

Bug-Debian: https://bugs.debian.org/763049
Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003886.html

This is needed to support mounting non-root filesystems in
initramfs-tools.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name readlink-add-f-option.patch

4 years ago[klibc] Implement realpath()
Ben Hutchings [Sat, 27 Sep 2014 14:04:15 +0000 (15:04 +0100)]
[klibc] Implement realpath()

Bug-Debian: https://bugs.debian.org/763049
Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003885.html

This is needed as the basis for the readlink -f option.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name implement-realpath.patch

4 years ago[klibc] [PATCH] ppc64: ELFv2: Load TOC value in system call stub
Mauricio Faria de Oliveira [Tue, 9 Sep 2014 22:17:19 +0000 (15:17 -0700)]
[klibc] [PATCH] ppc64: ELFv2: Load TOC value in system call stub

Forwarded: http://www.zytor.com/pipermail/klibc/2016-January/003878.html

This fixes a segmentation fault in the system call's error handling path with
dynamically-linked binaries on PowerPC64 little endian.  The system call stub
wasn't loading up r2 with the appropriate TOC value in its global entry point.

The r2 setup code comes from the FUNC_START macro in gcc [1] and an equivalent
one can also be found in the LOCALENTRY macro in glibc [2].

On the ELFv2 ABI (see [1]):
 - The global entry point is expected to load up r2 with the appropriate TOC
   value for this function.
 - The local entry point expects r2 to be set up to the current TOC.

The problem happened with dynamically-linked binaries because:
 - the system call is an indirect call (via global entry point) from the binary
   to the shared library, landing in the syscall stub  (which didn't load up r2
   with the TOC of the shared library)
 - its branch to __syscall_error is a direct call (via local entry point) within
   the shared library, landing in the function (which expects r2 to be set up to
   that TOC)
 - when the function attempts to store errno (in an address relative to the TOC),
   that address incorrectly pointed to a read-only segment -- segmentation fault.

The problem didn't happen with statically-linked binaries because the TOC value
wasn't different on that case.

Thanks and credits to Alan Modra and Ulrich Weigand, for helping with this and
pointing out the solution.

[1] https://gcc.gnu.org/ml/gcc-patches/2013-11/msg01141.html
[2] https://www.sourceware.org/ml/libc-alpha/2013-11/msg00315.html

Signed-off-by: Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
Gbp-Pq: Name ppc64el-load-toc-syscall-stub.patch

4 years ago[PATCH] [klibc] Fix minimal mv to work across fs
maximilian attems [Mon, 4 Jul 2011 15:51:52 +0000 (17:51 +0200)]
[PATCH] [klibc] Fix minimal mv to work across fs

Forwarded: not-needed

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>
[bwh: This is no longer needed by initramfs-tools starting with version 0.121,
 so can be dropped after the stretch release]

Gbp-Pq: Name Fix-minimal-mv-to-work-across-fs

4 years agoInclude the multiarch include directory in klcc's path
Steve Langasek [Mon, 28 Jun 2021 14:24:37 +0000 (15:24 +0100)]
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.

Gbp-Pq: Name multiarch-include-path

4 years agoFix klibc Debian specific build trouble
Ben Hutchings [Sun, 14 Mar 2010 18:41:56 +0000 (18:41 +0000)]
Fix klibc Debian specific build trouble

Simply remove the headers_install invocation and rely on linux-libc-dev.

With these changes:

(the extra chmod was needed to allow for umask > 022) I could compile,
link and run this program:

#include <unistd.h>

int main(void)
{
write(1, "Hello world\n", 12);
return 0;
}

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
[ added multi arch support ]
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: maximilian attems <max@stro.at>
[ fixed cross building ]
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Gbp-Pq: Name klibc-linux-libc-dev

4 years agoNever clean files in quilt status directory
Ben Hutchings [Sun, 15 Jul 2018 20:53:39 +0000 (21:53 +0100)]
Never clean files in quilt status directory

The top-level "distclean" and "mrproper" targets delete zero-size
files in the source, perhaps assumed to be stamp files.  This is fine
for actual source direcgtories, but disastrous for a quilt status
directory.

For each patch, quilt stores the previous versions of the modified
files in a subdirectory of .pc.  If the patch creates a file, this
file will be empty.  Removing it effectively removes the file creation
from the patch.

The .git directory is already excluded from the clean rules for
a similar reason, so do the same for .pc.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name never-clean-files-in-quilt-status-directory.patch

4 years agoklibc (2.0.4-9+deb9u1) stretch-security; urgency=high
Ben Hutchings [Mon, 28 Jun 2021 14:24:37 +0000 (15:24 +0100)]
klibc (2.0.4-9+deb9u1) stretch-security; urgency=high

  * Never clean files in quilt status directory
  * debian/rules: Use $(MAKE) for recursive make
  * debian/rules: Change override_dh_auto_test rule to actually run tests
  * Apply security fixes from 2.0.9 (Closes: #989505):
    - malloc: Set errno on failure
    - malloc: Fail if requested size > PTRDIFF_MAX (CVE-2021-31873)
    - calloc: Fail if multiplication overflows (CVE-2021-31870)
    - cpio: Fix possible integer overflow on 32-bit systems (CVE-2021-31872)
    - cpio: Fix possible crash on 64-bit systems (CVE-2021-31871)

[dgit import unpatched klibc 2.0.4-9+deb9u1]

4 years agoImport klibc_2.0.4-9+deb9u1.debian.tar.xz
Ben Hutchings [Mon, 28 Jun 2021 14:24:37 +0000 (15:24 +0100)]
Import klibc_2.0.4-9+deb9u1.debian.tar.xz

[dgit import tarball klibc 2.0.4-9+deb9u1 klibc_2.0.4-9+deb9u1.debian.tar.xz]

11 years agoImport klibc_2.0.4.orig.tar.gz
maximilian attems [Thu, 11 Sep 2014 19:23:25 +0000 (20:23 +0100)]
Import klibc_2.0.4.orig.tar.gz

[dgit import orig klibc_2.0.4.orig.tar.gz]