Merge pull request #724 from ertugerata/new_toolchain

glibc gcc binutils updated
This commit is contained in:
Ertuğrul Erata
2018-07-15 17:24:12 +03:00
committed by GitHub
7 changed files with 213 additions and 27 deletions
+4 -4
View File
@@ -11,7 +11,7 @@ from pisi.actionsapi import get
import os
WorkDir = "glibc-2.24"
WorkDir = "glibc-2.27"
arch = "x86-64" if get.ARCH() == "x86_64" and not get.buildTYPE() == "emul32" else "i686"
defaultflags = "-O3 -g -fasynchronous-unwind-tables -mtune=generic -march=%s" % arch
@@ -111,7 +111,7 @@ def install():
autotools.rawInstall("install_root=%s localedata/install-locales" % get.installDIR())
# Remove our options section from crt stuff
removePisiLinuxSection("%s/usr/lib/" % get.installDIR())
#removePisiLinuxSection("%s/usr/lib/" % get.installDIR())
if get.buildTYPE() == "emul32":
@@ -120,7 +120,7 @@ def install():
shelltools.echo("%s/etc/ld.so.conf.d/60-glibc-32bit.conf" % get.installDIR(), ldconf32bit)
# Remove our options section from crt stuff
removePisiLinuxSection("%s/usr/lib32/" % get.installDIR())
#removePisiLinuxSection("%s/usr/lib32/" % get.installDIR())
pisitools.removeDir("/tmp32")
@@ -148,5 +148,5 @@ def install():
#pisitools.remove("/usr/sbin/%s" % i)
shelltools.cd("..")
pisitools.dodoc("BUGS", "ChangeLog*", "CONFORMANCE", "NAMESPACE", "NEWS", "PROJECTS", "README*", "LICENSES")
pisitools.dodoc("ChangeLog", "NEWS", "README*", "LICENSES")
+114
View File
@@ -0,0 +1,114 @@
From 74250a7cdf106d4ca7d9506e6d5dc7c448dc3434 Mon Sep 17 00:00:00 2001
From: David Michael <david.michael@coreos.com>
Date: Thu, 15 Dec 2016 15:22:57 -0800
Subject: [PATCH] gshadow: Sync fgetsgent_r.c with grp/fgetgrent_r.c
[BZ #20338]
* gshadow/fgetsgent_r.c: Include <libio/iolibio.h>.
(flockfile): New macro.
(funlockfile): Likewise.
(__fgetsgent_r): Sync with __fgetgrent_r.
* nss/nss_files/files-sgrp.c: Fix "fgetsgent_r.c" typo.
---
gshadow/fgetsgent_r.c | 35 ++++++++++++++++++++++++-----------
nss/nss_files/files-sgrp.c | 2 +-
2 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/gshadow/fgetsgent_r.c b/gshadow/fgetsgent_r.c
index b70f6fa..02cd33a 100644
--- a/gshadow/fgetsgent_r.c
+++ b/gshadow/fgetsgent_r.c
@@ -20,39 +20,44 @@
#include <gshadow.h>
#include <stdio.h>
+#include <libio/iolibio.h>
+#define flockfile(s) _IO_flockfile (s)
+#define funlockfile(s) _IO_funlockfile (s)
+
/* Define a line parsing function using the common code
used in the nss_files module. */
#define STRUCTURE sgrp
#define ENTNAME sgent
-#define EXTERN_PARSER 1
+#define EXTERN_PARSER 1
struct sgent_data {};
#include <nss/nss_files/files-parse.c>
-/* Read one shadow entry from the given stream. */
+/* Read one entry from the given stream. */
int
__fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen,
struct sgrp **result)
{
char *p;
+ int parse_result;
- _IO_flockfile (stream);
+ flockfile (stream);
do
{
buffer[buflen - 1] = '\xff';
p = fgets_unlocked (buffer, buflen, stream);
- if (p == NULL && feof_unlocked (stream))
+ if (__builtin_expect (p == NULL, 0) && feof_unlocked (stream))
{
- _IO_funlockfile (stream);
+ funlockfile (stream);
*result = NULL;
__set_errno (ENOENT);
return errno;
}
- if (p == NULL || buffer[buflen - 1] != '\xff')
+ if (__builtin_expect (p == NULL, 0) || buffer[buflen - 1] != '\xff')
{
- _IO_funlockfile (stream);
+ funlockfile (stream);
*result = NULL;
__set_errno (ERANGE);
return errno;
@@ -61,13 +66,21 @@ __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen,
/* Skip leading blanks. */
while (isspace (*p))
++p;
- } while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */
+ } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
/* Parse the line. If it is invalid, loop to
get the next line of the file to parse. */
- ! parse_line (buffer, (void *) resbuf, (void *) buffer, buflen,
- &errno));
+ || ! (parse_result = parse_line (p, resbuf,
+ (void *) buffer, buflen,
+ &errno)));
+
+ funlockfile (stream);
- _IO_funlockfile (stream);
+ if (__builtin_expect (parse_result, 0) == -1)
+ {
+ /* The parser ran out of space. */
+ *result = NULL;
+ return errno;
+ }
*result = resbuf;
return 0;
diff --git a/nss/nss_files/files-sgrp.c b/nss/nss_files/files-sgrp.c
index 15dc659..05c3805 100644
--- a/nss/nss_files/files-sgrp.c
+++ b/nss/nss_files/files-sgrp.c
@@ -23,7 +23,7 @@
#define DATABASE "gshadow"
struct sgent_data {};
-/* Our parser function is already defined in sgetspent_r.c, so use that
+/* Our parser function is already defined in sgetsgent_r.c, so use that
to parse lines from the database file. */
#define EXTERN_PARSER
#include "files-parse.c"
--
2.7.4
+42
View File
@@ -0,0 +1,42 @@
#!/bin/sh
set -e
LOCALEGEN=/etc/locale.gen
LOCALES=/usr/share/i18n/locales
if [ -n "$POSIXLY_CORRECT" ]; then
unset POSIXLY_CORRECT
fi
[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0;
# Remove all old locale dir and locale-archive before generating new
# locale data.
rm -rf /usr/lib/locale/* || true
umask 022
is_entry_ok() {
if [ -n "$locale" -a -n "$charset" ] ; then
true
else
echo "error: Bad entry '$locale $charset'"
false
fi
}
echo "Generating locales..."
while read locale charset; do \
case $locale in \#*) continue;; "") continue;; esac; \
is_entry_ok || continue
echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \
echo -n ".$charset"; \
echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \
echo -n '...'; \
if [ -f $LOCALES/$locale ]; then input=$locale; else \
input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \
localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \
echo ' done'; \
done < $LOCALEGEN
echo "Generation complete."
+24
View File
@@ -0,0 +1,24 @@
# Configuration file for locale-gen
#
# lists of locales that are to be generated by the locale-gen command.
#
# Each line is of the form:
#
# <locale> <charset>
#
# where <locale> is one of the locales given in /usr/share/i18n/locales
# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
#
# Examples:
# en_US ISO-8859-1
# en_US.UTF-8 UTF-8
# de_DE ISO-8859-1
# de_DE@euro ISO-8859-15
#
# The locale-gen command will generate all the locales,
# placing them in /usr/lib/locale.
#
# A list of supported locales is included in this file.
# Uncomment the ones you need.
#
tr_TR.UTF-8 UTF-8
+12 -7
View File
@@ -13,19 +13,15 @@
<IsA>library</IsA>
<Summary>GNU libc6 (also called glibc2) C library</Summary>
<Description>The GNU C library is used as the C library in the GNU system and most systems with the Linux kernel. It defines the system calls and other basic C programming language facilities.</Description>
<Archive sha1sum="e5d9725d94d59475d9a6869a4447a70c1bf3ef78" type="tarxz">http://ftp.gnu.org/gnu/libc/glibc-2.24.tar.xz</Archive>
<Archive sha1sum="1f7a9c43026484943ef7cf6885f2176a2bc1e093" type="tarxz">http://ftp.gnu.org/gnu/libc/glibc-2.27.tar.xz</Archive>
<BuildDependencies>
<Dependency>kernel-headers</Dependency>
<Dependency>gettext</Dependency>
<Dependency>binutils</Dependency>
</BuildDependencies>
<Patches>
<!--Patch>locale-no-archive.patch</Patch-->
<!--Patch>install-libmvec_nonshared.patch</Patch>
<Patch>fix-libmvec_nonshared-location.patch</Patch-->
<!--Patch>glibc-2.20-getifaddrs_internal-segfault.patch</Patch> -->
<!-- <Patch>glibc-2.20-linux-3.16-additions.patch</Patch> -->
<!-- <Patch>glibc-2.20-do_ftell_wide-memleak.patch</Patch> -->
<Patch>locale-no-archive.patch</Patch>
<Patch>bz20338.patch</Patch>
</Patches>
</Source>
<Package>
@@ -62,6 +58,8 @@
<AdditionalFile owner="root" permission="0644" target="/etc/host.conf">host.conf</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/etc/nsswitch.conf">nsswitch.conf</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/etc/nscd.conf">nscd.conf</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/etc/locale-gen">locale-gen.txt</AdditionalFile>
<AdditionalFile owner="root" permission="0755" target="/usr/bin/locale-gen">locale-gen</AdditionalFile>
</AdditionalFiles>
<Provides>
<COMAR script="package.py">System.Package</COMAR>
@@ -1953,6 +1951,13 @@
</Package>
<History>
<Update release="4">
<Date>2018-07-14</Date>
<Version>2.27</Version>
<Comment>Version bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2017-01-01</Date>
<Version>2.24</Version>
+8 -14
View File
@@ -11,21 +11,8 @@
<IsA>app:console</IsA>
<Summary>Assembler and linker tools</Summary>
<Description>Contains commands like as, ld, nm, objdump, ar, ranlib for compiling assembly code to the machine language, and for linking and manipulating the binary object files.</Description>
<Archive sha1sum="6e472ddae565a2b1447e6f2393809bb8799982cf" type="tarbz2">http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2</Archive>
<Archive sha1sum="33d807f7fa680b00439eb5560acd0c2ef645e5f9" type="tarbz2">http://ftp.gnu.org/gnu/binutils/binutils-2.30.tar.bz2</Archive>
<Patches>
<!--Patch level="1">binutils-gdb.git-e20365c.patch</Patch>
<Patch>binutils-2.24-lto-testsuite.patch</Patch>
<Patch>binutils-2.24-gold-testsuite-plugin.patch</Patch>
<Patch>binutils-2.24-shared-pie.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8484.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8485.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8501.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8502.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8503.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8504.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8737.patch</Patch>
<Patch>binutils-2.24-CVE-2014-8738.patch</Patch>
<Patch>binutils-2.24-strings-all-default.patch</Patch>-->
</Patches>
</Source>
@@ -44,6 +31,13 @@
</Package>
<History>
<Update release="4">
<Date>2018-07-14</Date>
<Version>2.30</Version>
<Comment>Version bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2017-01-02</Date>
<Version>2.27</Version>
+9 -2
View File
@@ -14,9 +14,9 @@
<IsA>library</IsA>
<Summary>The GNU Compiler Collection, includes C, C++, Objective-C and Fortran compilers</Summary>
<Description>The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, as well as libraries for these languages</Description>
<Archive sha1sum="928ab552666ee08eed645ff20ceb49d139205dea" type="tarbz2">https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2</Archive>
<Archive sha1sum="9689b9cae7b2886fdaa08449a26701f095c04e48" type="tarxz">http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz</Archive>
<BuildDependencies>
<Dependency>binutils</Dependency>
<Dependency versionFrom="2.30">binutils</Dependency>
<Dependency>bison</Dependency>
<Dependency>gettext</Dependency>
<Dependency>ncurses</Dependency>
@@ -146,6 +146,13 @@
</Package>
<History>
<Update release="5">
<Date>2018-07-14</Date>
<Version>7.3.0</Version>
<Comment>Version bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="4">
<Date>2018-04-14</Date>
<Version>6.3.0</Version>