mirror of
https://git.yoctoproject.org/poky
synced 2026-01-30 05:18:43 +01:00
Compare commits
133 Commits
3.3_M2
...
uninative-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e3b42f442 | ||
|
|
51cf448849 | ||
|
|
7b8df042d0 | ||
|
|
77d9b5f02a | ||
|
|
fa905948e5 | ||
|
|
03bf6b3ec0 | ||
|
|
c05385c887 | ||
|
|
4b5b18c369 | ||
|
|
ab012b3b94 | ||
|
|
9449f22764 | ||
|
|
4cb93cd028 | ||
|
|
b4965a4d71 | ||
|
|
c88bb1364c | ||
|
|
2d878b92dc | ||
|
|
22ca8d204c | ||
|
|
c2f2963623 | ||
|
|
ff21f42cf0 | ||
|
|
22cfb4693a | ||
|
|
b9b33e32e6 | ||
|
|
42eb97fb13 | ||
|
|
b7daba6738 | ||
|
|
39c454a1df | ||
|
|
5d248cfc91 | ||
|
|
2e3f481ef9 | ||
|
|
6cb63902c5 | ||
|
|
c6c9fa61b4 | ||
|
|
3c9f78f6d7 | ||
|
|
1db7f2a8c6 | ||
|
|
d4a587c6f8 | ||
|
|
f7f4a53ca5 | ||
|
|
14efc6e698 | ||
|
|
785b5489ab | ||
|
|
eedd8033e0 | ||
|
|
899514c477 | ||
|
|
90ae075867 | ||
|
|
0960f15dd8 | ||
|
|
77c56e8c78 | ||
|
|
a3cba800ef | ||
|
|
b1e70354dd | ||
|
|
fe70db2c46 | ||
|
|
9dbe0f69f8 | ||
|
|
87cb7577db | ||
|
|
4dd9b84991 | ||
|
|
c900b345aa | ||
|
|
2da2405aec | ||
|
|
8ed8b81af6 | ||
|
|
44ecc935b2 | ||
|
|
5e2450731c | ||
|
|
86b42289bd | ||
|
|
ef208aaf0f | ||
|
|
3f1c05e148 | ||
|
|
84fdf259b4 | ||
|
|
3850c60b7b | ||
|
|
213a6978d2 | ||
|
|
f9be349d60 | ||
|
|
9c68281f8d | ||
|
|
b5bc306da0 | ||
|
|
c174243f8e | ||
|
|
41d8bce004 | ||
|
|
4bb1a003de | ||
|
|
68009e4cda | ||
|
|
46a95d9d5d | ||
|
|
c679c1cac2 | ||
|
|
36aef08dcd | ||
|
|
4ef8f9920a | ||
|
|
1cd82ae655 | ||
|
|
77493aa990 | ||
|
|
e1caf4f305 | ||
|
|
dcaed52dde | ||
|
|
71cc4c0c00 | ||
|
|
c4257ed8b1 | ||
|
|
cff7db890c | ||
|
|
b033409243 | ||
|
|
f9d0bc709f | ||
|
|
3a59f2abe2 | ||
|
|
55ead1be58 | ||
|
|
e45227cb2c | ||
|
|
ba50c39564 | ||
|
|
a2121683ba | ||
|
|
73e83acb24 | ||
|
|
e4d03c40f6 | ||
|
|
5fc62dd668 | ||
|
|
23ff403243 | ||
|
|
8cce2373f4 | ||
|
|
0874c1e710 | ||
|
|
24e95b9a0b | ||
|
|
eb604952d5 | ||
|
|
4e03f04139 | ||
|
|
a89f77b92d | ||
|
|
b5869bf29a | ||
|
|
2599b4af5c | ||
|
|
9385670add | ||
|
|
41f96b141e | ||
|
|
d1aee0c050 | ||
|
|
8e03298201 | ||
|
|
f22225a413 | ||
|
|
6bc8f8ac0f | ||
|
|
1b4801d13b | ||
|
|
dbd80a923c | ||
|
|
bfeeaf9ff1 | ||
|
|
d647db7c30 | ||
|
|
70aac6cae8 | ||
|
|
9f01875a9e | ||
|
|
2d1610e801 | ||
|
|
0f0c0df633 | ||
|
|
a2a34451c9 | ||
|
|
9fa87066bb | ||
|
|
065a23550e | ||
|
|
45c02843d1 | ||
|
|
8e92ec7832 | ||
|
|
5d81a91861 | ||
|
|
5920b3f129 | ||
|
|
9f12323826 | ||
|
|
db87aab8e2 | ||
|
|
72b859aba8 | ||
|
|
bca05547e2 | ||
|
|
21e70c8a72 | ||
|
|
d1fb52f6bc | ||
|
|
3807c6d9a7 | ||
|
|
2485beac68 | ||
|
|
7b90027aac | ||
|
|
d485c68b9a | ||
|
|
02360c2e53 | ||
|
|
3a220f1e41 | ||
|
|
1d803b70e5 | ||
|
|
63fb8bcf7c | ||
|
|
e261ab2d36 | ||
|
|
80f38cff27 | ||
|
|
c5b1cb506b | ||
|
|
28bdfe0066 | ||
|
|
c7c1e9e561 | ||
|
|
f926c41c89 | ||
|
|
137150c6df |
@@ -290,7 +290,7 @@ class URI(object):
|
||||
|
||||
def _param_str_split(self, string, elmdelim, kvdelim="="):
|
||||
ret = collections.OrderedDict()
|
||||
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim)]:
|
||||
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim) if x]:
|
||||
ret[k] = v
|
||||
return ret
|
||||
|
||||
|
||||
@@ -384,6 +384,35 @@ class Git(FetchMethod):
|
||||
if missing_rev:
|
||||
raise bb.fetch2.FetchError("Unable to find revision %s even from upstream" % missing_rev)
|
||||
|
||||
if self._contains_lfs(ud, d, ud.clonedir) and self._need_lfs(ud):
|
||||
# Unpack temporary working copy, use it to run 'git checkout' to force pre-fetching
|
||||
# of all LFS blobs needed at the the srcrev.
|
||||
#
|
||||
# It would be nice to just do this inline here by running 'git-lfs fetch'
|
||||
# on the bare clonedir, but that operation requires a working copy on some
|
||||
# releases of Git LFS.
|
||||
tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR'))
|
||||
try:
|
||||
# Do the checkout. This implicitly involves a Git LFS fetch.
|
||||
self.unpack(ud, tmpdir, d)
|
||||
|
||||
# Scoop up a copy of any stuff that Git LFS downloaded. Merge them into
|
||||
# the bare clonedir.
|
||||
#
|
||||
# As this procedure is invoked repeatedly on incremental fetches as
|
||||
# a recipe's SRCREV is bumped throughout its lifetime, this will
|
||||
# result in a gradual accumulation of LFS blobs in <ud.clonedir>/lfs
|
||||
# corresponding to all the blobs reachable from the different revs
|
||||
# fetched across time.
|
||||
#
|
||||
# Only do this if the unpack resulted in a .git/lfs directory being
|
||||
# created; this only happens if at least one blob needed to be
|
||||
# downloaded.
|
||||
if os.path.exists(os.path.join(tmpdir, "git", ".git", "lfs")):
|
||||
runfetchcmd("tar -cf - lfs | tar -xf - -C %s" % ud.clonedir, d, workdir="%s/git/.git" % tmpdir)
|
||||
finally:
|
||||
bb.utils.remove(tmpdir, recurse=True)
|
||||
|
||||
def build_mirror_data(self, ud, d):
|
||||
if ud.shallow and ud.write_shallow_tarballs:
|
||||
if not os.path.exists(ud.fullshallow):
|
||||
@@ -479,7 +508,7 @@ class Git(FetchMethod):
|
||||
if os.path.exists(destdir):
|
||||
bb.utils.prunedir(destdir)
|
||||
|
||||
need_lfs = ud.parm.get("lfs", "1") == "1"
|
||||
need_lfs = self._need_lfs(ud)
|
||||
|
||||
if not need_lfs:
|
||||
ud.basecmd = "GIT_LFS_SKIP_SMUDGE=1 " + ud.basecmd
|
||||
@@ -568,6 +597,9 @@ class Git(FetchMethod):
|
||||
raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output))
|
||||
return output.split()[0] != "0"
|
||||
|
||||
def _need_lfs(self, ud):
|
||||
return ud.parm.get("lfs", "1") == "1"
|
||||
|
||||
def _contains_lfs(self, ud, d, wd):
|
||||
"""
|
||||
Check if the repository has 'lfs' (large file) content
|
||||
@@ -578,8 +610,14 @@ class Git(FetchMethod):
|
||||
else:
|
||||
branchname = "master"
|
||||
|
||||
cmd = "%s grep lfs origin/%s:.gitattributes | wc -l" % (
|
||||
ud.basecmd, ud.branches[ud.names[0]])
|
||||
# The bare clonedir doesn't use the remote names; it has the branch immediately.
|
||||
if wd == ud.clonedir:
|
||||
refname = ud.branches[ud.names[0]]
|
||||
else:
|
||||
refname = "origin/%s" % ud.branches[ud.names[0]]
|
||||
|
||||
cmd = "%s grep lfs %s:.gitattributes | wc -l" % (
|
||||
ud.basecmd, refname)
|
||||
|
||||
try:
|
||||
output = runfetchcmd(cmd, d, quiet=True, workdir=wd)
|
||||
|
||||
@@ -119,6 +119,7 @@ class Perforce(FetchMethod):
|
||||
cleanedpath = ud.path.replace('/...', '').replace('/', '.')
|
||||
cleanedhost = ud.host.replace(':', '.')
|
||||
|
||||
cleanedmodule = ""
|
||||
# Merge the path and module into the final depot location
|
||||
if ud.module:
|
||||
if ud.module.find('/') == 0:
|
||||
@@ -133,7 +134,7 @@ class Perforce(FetchMethod):
|
||||
|
||||
ud.setup_revisions(d)
|
||||
|
||||
ud.localfile = d.expand('%s_%s_%s.tar.gz' % (cleanedhost, cleanedpath, ud.revision))
|
||||
ud.localfile = d.expand('%s_%s_%s_%s.tar.gz' % (cleanedhost, cleanedpath, cleandedmodule, ud.revision))
|
||||
|
||||
def _buildp4command(self, ud, d, command, depot_filename=None):
|
||||
"""
|
||||
|
||||
@@ -52,6 +52,12 @@ class WgetProgressHandler(bb.progress.LineFilterProgressHandler):
|
||||
|
||||
|
||||
class Wget(FetchMethod):
|
||||
|
||||
# CDNs like CloudFlare may do a 'browser integrity test' which can fail
|
||||
# with the standard wget/urllib User-Agent, so pretend to be a modern
|
||||
# browser.
|
||||
user_agent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
|
||||
|
||||
"""Class to fetch urls via 'wget'"""
|
||||
def supports(self, ud, d):
|
||||
"""
|
||||
@@ -297,7 +303,7 @@ class Wget(FetchMethod):
|
||||
# Some servers (FusionForge, as used on Alioth) require that the
|
||||
# optional Accept header is set.
|
||||
r.add_header("Accept", "*/*")
|
||||
r.add_header("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12")
|
||||
r.add_header("User-Agent", self.user_agent)
|
||||
def add_basic_auth(login_str, request):
|
||||
'''Adds Basic auth to http request, pass in login:password as string'''
|
||||
import base64
|
||||
@@ -401,9 +407,8 @@ class Wget(FetchMethod):
|
||||
"""
|
||||
f = tempfile.NamedTemporaryFile()
|
||||
with tempfile.TemporaryDirectory(prefix="wget-index-") as workdir, tempfile.NamedTemporaryFile(dir=workdir, prefix="wget-listing-") as f:
|
||||
agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12"
|
||||
fetchcmd = self.basecmd
|
||||
fetchcmd += " -O " + f.name + " --user-agent='" + agent + "' '" + uri + "'"
|
||||
fetchcmd += " -O " + f.name + " --user-agent='" + self.user_agent + "' '" + uri + "'"
|
||||
try:
|
||||
self._runwget(ud, d, fetchcmd, True, workdir=workdir)
|
||||
fetchresult = f.read()
|
||||
|
||||
@@ -87,6 +87,25 @@ class URITest(unittest.TestCase):
|
||||
},
|
||||
'relative': False
|
||||
},
|
||||
# Check that trailing semicolons are handled correctly
|
||||
"http://www.example.org/index.html?qparam1=qvalue1;param2=value2;" : {
|
||||
'uri': 'http://www.example.org/index.html?qparam1=qvalue1;param2=value2',
|
||||
'scheme': 'http',
|
||||
'hostname': 'www.example.org',
|
||||
'port': None,
|
||||
'hostport': 'www.example.org',
|
||||
'path': '/index.html',
|
||||
'userinfo': '',
|
||||
'username': '',
|
||||
'password': '',
|
||||
'params': {
|
||||
'param2': 'value2'
|
||||
},
|
||||
'query': {
|
||||
'qparam1': 'qvalue1'
|
||||
},
|
||||
'relative': False
|
||||
},
|
||||
"http://www.example.com:8080/index.html" : {
|
||||
'uri': 'http://www.example.com:8080/index.html',
|
||||
'scheme': 'http',
|
||||
@@ -2089,13 +2108,14 @@ class GitLfsTest(FetcherTest):
|
||||
cwd = self.gitdir
|
||||
return bb.process.run(cmd, cwd=cwd)[0]
|
||||
|
||||
def fetch(self, uri=None):
|
||||
def fetch(self, uri=None, download=True):
|
||||
uris = self.d.getVar('SRC_URI').split()
|
||||
uri = uris[0]
|
||||
d = self.d
|
||||
|
||||
fetcher = bb.fetch2.Fetch(uris, d)
|
||||
fetcher.download()
|
||||
if download:
|
||||
fetcher.download()
|
||||
ud = fetcher.ud[uri]
|
||||
return fetcher, ud
|
||||
|
||||
@@ -2105,16 +2125,21 @@ class GitLfsTest(FetcherTest):
|
||||
uri = 'git://%s;protocol=file;subdir=${S};lfs=1' % self.srcdir
|
||||
self.d.setVar('SRC_URI', uri)
|
||||
|
||||
fetcher, ud = self.fetch()
|
||||
# Careful: suppress initial attempt at downloading until
|
||||
# we know whether git-lfs is installed.
|
||||
fetcher, ud = self.fetch(uri=None, download=False)
|
||||
self.assertIsNotNone(ud.method._find_git_lfs)
|
||||
|
||||
# If git-lfs can be found, the unpack should be successful
|
||||
ud.method._find_git_lfs = lambda d: True
|
||||
shutil.rmtree(self.gitdir, ignore_errors=True)
|
||||
fetcher.unpack(self.d.getVar('WORKDIR'))
|
||||
# If git-lfs can be found, the unpack should be successful. Only
|
||||
# attempt this with the real live copy of git-lfs installed.
|
||||
if ud.method._find_git_lfs(self.d):
|
||||
fetcher.download()
|
||||
shutil.rmtree(self.gitdir, ignore_errors=True)
|
||||
fetcher.unpack(self.d.getVar('WORKDIR'))
|
||||
|
||||
# If git-lfs cannot be found, the unpack should throw an error
|
||||
with self.assertRaises(bb.fetch2.FetchError):
|
||||
fetcher.download()
|
||||
ud.method._find_git_lfs = lambda d: False
|
||||
shutil.rmtree(self.gitdir, ignore_errors=True)
|
||||
fetcher.unpack(self.d.getVar('WORKDIR'))
|
||||
@@ -2125,10 +2150,16 @@ class GitLfsTest(FetcherTest):
|
||||
uri = 'git://%s;protocol=file;subdir=${S};lfs=0' % self.srcdir
|
||||
self.d.setVar('SRC_URI', uri)
|
||||
|
||||
# In contrast to test_lfs_enabled(), allow the implicit download
|
||||
# done by self.fetch() to occur here. The point of this test case
|
||||
# is to verify that the fetcher can survive even if the source
|
||||
# repository has Git LFS usage configured.
|
||||
fetcher, ud = self.fetch()
|
||||
self.assertIsNotNone(ud.method._find_git_lfs)
|
||||
|
||||
# If git-lfs can be found, the unpack should be successful
|
||||
# If git-lfs can be found, the unpack should be successful. A
|
||||
# live copy of git-lfs is not required for this case, so
|
||||
# unconditionally forge its presence.
|
||||
ud.method._find_git_lfs = lambda d: True
|
||||
shutil.rmtree(self.gitdir, ignore_errors=True)
|
||||
fetcher.unpack(self.d.getVar('WORKDIR'))
|
||||
|
||||
@@ -7,17 +7,17 @@ KMACHINE_genericx86 ?= "common-pc"
|
||||
KMACHINE_genericx86-64 ?= "common-pc-64"
|
||||
KMACHINE_beaglebone-yocto ?= "beaglebone"
|
||||
|
||||
SRCREV_machine_genericx86 ?= "f08df324ccdbc73b9f0c2de2826a2843bcdf651b"
|
||||
SRCREV_machine_genericx86-64 ?= "f08df324ccdbc73b9f0c2de2826a2843bcdf651b"
|
||||
SRCREV_machine_edgerouter ?= "1f3d7b6a85e98317771367e70824f7803ff9ca30"
|
||||
SRCREV_machine_beaglebone-yocto ?= "f08df324ccdbc73b9f0c2de2826a2843bcdf651b"
|
||||
SRCREV_machine_genericx86 ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a"
|
||||
SRCREV_machine_genericx86-64 ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a"
|
||||
SRCREV_machine_edgerouter ?= "2e1fb8f84f09ca768eb531f33a126a40bb90e791"
|
||||
SRCREV_machine_beaglebone-yocto ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a"
|
||||
|
||||
COMPATIBLE_MACHINE_genericx86 = "genericx86"
|
||||
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
|
||||
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
|
||||
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
|
||||
|
||||
LINUX_VERSION_genericx86 = "5.10.5"
|
||||
LINUX_VERSION_genericx86-64 = "5.10.5"
|
||||
LINUX_VERSION_edgerouter = "5.10.5"
|
||||
LINUX_VERSION_beaglebone-yocto = "5.10.5"
|
||||
LINUX_VERSION_genericx86 = "5.10.12"
|
||||
LINUX_VERSION_genericx86-64 = "5.10.12"
|
||||
LINUX_VERSION_edgerouter = "5.10.12"
|
||||
LINUX_VERSION_beaglebone-yocto = "5.10.12"
|
||||
|
||||
@@ -596,62 +596,62 @@ python () {
|
||||
|
||||
needsrcrev = False
|
||||
srcuri = d.getVar('SRC_URI')
|
||||
for uri in srcuri.split():
|
||||
(scheme, _ , path) = bb.fetch.decodeurl(uri)[:3]
|
||||
for uri_string in srcuri.split():
|
||||
uri = bb.fetch.URI(uri_string)
|
||||
|
||||
# HTTP/FTP use the wget fetcher
|
||||
if scheme in ("http", "https", "ftp"):
|
||||
if uri.scheme in ("http", "https", "ftp"):
|
||||
d.appendVarFlag('do_fetch', 'depends', ' wget-native:do_populate_sysroot')
|
||||
|
||||
# Svn packages should DEPEND on subversion-native
|
||||
if scheme == "svn":
|
||||
if uri.scheme == "svn":
|
||||
needsrcrev = True
|
||||
d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
|
||||
|
||||
# Git packages should DEPEND on git-native
|
||||
elif scheme in ("git", "gitsm"):
|
||||
elif uri.scheme in ("git", "gitsm"):
|
||||
needsrcrev = True
|
||||
d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
|
||||
|
||||
# Mercurial packages should DEPEND on mercurial-native
|
||||
elif scheme == "hg":
|
||||
elif uri.scheme == "hg":
|
||||
needsrcrev = True
|
||||
d.appendVar("EXTRANATIVEPATH", ' python3-native ')
|
||||
d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
|
||||
|
||||
# Perforce packages support SRCREV = "${AUTOREV}"
|
||||
elif scheme == "p4":
|
||||
elif uri.scheme == "p4":
|
||||
needsrcrev = True
|
||||
|
||||
# OSC packages should DEPEND on osc-native
|
||||
elif scheme == "osc":
|
||||
elif uri.scheme == "osc":
|
||||
d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')
|
||||
|
||||
elif scheme == "npm":
|
||||
elif uri.scheme == "npm":
|
||||
d.appendVarFlag('do_fetch', 'depends', ' nodejs-native:do_populate_sysroot')
|
||||
|
||||
# *.lz4 should DEPEND on lz4-native for unpacking
|
||||
if path.endswith('.lz4'):
|
||||
if uri.path.endswith('.lz4'):
|
||||
d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
|
||||
|
||||
# *.lz should DEPEND on lzip-native for unpacking
|
||||
elif path.endswith('.lz'):
|
||||
elif uri.path.endswith('.lz'):
|
||||
d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
|
||||
|
||||
# *.xz should DEPEND on xz-native for unpacking
|
||||
elif path.endswith('.xz') or path.endswith('.txz'):
|
||||
elif uri.path.endswith('.xz') or uri.path.endswith('.txz'):
|
||||
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
|
||||
|
||||
# .zip should DEPEND on unzip-native for unpacking
|
||||
elif path.endswith('.zip') or path.endswith('.jar'):
|
||||
elif uri.path.endswith('.zip') or uri.path.endswith('.jar'):
|
||||
d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
|
||||
|
||||
# Some rpm files may be compressed internally using xz (for example, rpms from Fedora)
|
||||
elif path.endswith('.rpm'):
|
||||
elif uri.path.endswith('.rpm'):
|
||||
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
|
||||
|
||||
# *.deb should DEPEND on xz-native for unpacking
|
||||
elif path.endswith('.deb'):
|
||||
elif uri.path.endswith('.deb'):
|
||||
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
|
||||
|
||||
if needsrcrev:
|
||||
|
||||
@@ -859,7 +859,7 @@ END
|
||||
}
|
||||
|
||||
python buildhistory_eventhandler() {
|
||||
if e.data.getVar('BUILDHISTORY_FEATURES').strip():
|
||||
if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip():
|
||||
reset = e.data.getVar("BUILDHISTORY_RESET")
|
||||
olddir = e.data.getVar("BUILDHISTORY_OLD_DIR")
|
||||
if isinstance(e, bb.event.BuildStarted):
|
||||
|
||||
@@ -53,6 +53,9 @@ CVE_CHECK_PN_WHITELIST ?= ""
|
||||
#
|
||||
CVE_CHECK_WHITELIST ?= ""
|
||||
|
||||
# set to "alphabetical" for version using single alphabetical character as increament release
|
||||
CVE_VERSION_SUFFIX ??= ""
|
||||
|
||||
python cve_save_summary_handler () {
|
||||
import shutil
|
||||
import datetime
|
||||
@@ -206,10 +209,11 @@ def check_cves(d, patched_cves):
|
||||
"""
|
||||
Connect to the NVD database and find unpatched cves.
|
||||
"""
|
||||
from distutils.version import LooseVersion
|
||||
from oe.cve_check import Version
|
||||
|
||||
pn = d.getVar("PN")
|
||||
real_pv = d.getVar("PV")
|
||||
suffix = d.getVar("CVE_VERSION_SUFFIX")
|
||||
|
||||
cves_unpatched = []
|
||||
# CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
|
||||
@@ -263,8 +267,8 @@ def check_cves(d, patched_cves):
|
||||
else:
|
||||
if operator_start:
|
||||
try:
|
||||
vulnerable_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start))
|
||||
vulnerable_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start))
|
||||
vulnerable_start = (operator_start == '>=' and Version(pv,suffix) >= Version(version_start,suffix))
|
||||
vulnerable_start |= (operator_start == '>' and Version(pv,suffix) > Version(version_start,suffix))
|
||||
except:
|
||||
bb.warn("%s: Failed to compare %s %s %s for %s" %
|
||||
(product, pv, operator_start, version_start, cve))
|
||||
@@ -274,8 +278,8 @@ def check_cves(d, patched_cves):
|
||||
|
||||
if operator_end:
|
||||
try:
|
||||
vulnerable_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end))
|
||||
vulnerable_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end))
|
||||
vulnerable_end = (operator_end == '<=' and Version(pv,suffix) <= Version(version_end,suffix) )
|
||||
vulnerable_end |= (operator_end == '<' and Version(pv,suffix) < Version(version_end,suffix) )
|
||||
except:
|
||||
bb.warn("%s: Failed to compare %s %s %s for %s" %
|
||||
(product, pv, operator_end, version_end, cve))
|
||||
|
||||
@@ -190,6 +190,7 @@ def srctree_hash_files(d, srcdir=None):
|
||||
import shutil
|
||||
import subprocess
|
||||
import tempfile
|
||||
import hashlib
|
||||
|
||||
s_dir = srcdir or d.getVar('EXTERNALSRC')
|
||||
git_dir = None
|
||||
@@ -197,6 +198,10 @@ def srctree_hash_files(d, srcdir=None):
|
||||
try:
|
||||
git_dir = os.path.join(s_dir,
|
||||
subprocess.check_output(['git', '-C', s_dir, 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
|
||||
top_git_dir = os.path.join(s_dir, subprocess.check_output(['git', '-C', d.getVar("TOPDIR"), 'rev-parse', '--git-dir'],
|
||||
stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
|
||||
if git_dir == top_git_dir:
|
||||
git_dir = None
|
||||
except subprocess.CalledProcessError:
|
||||
pass
|
||||
|
||||
@@ -210,7 +215,16 @@ def srctree_hash_files(d, srcdir=None):
|
||||
env = os.environ.copy()
|
||||
env['GIT_INDEX_FILE'] = tmp_index.name
|
||||
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
|
||||
sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
|
||||
git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
|
||||
submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8")
|
||||
for line in submodule_helper.splitlines():
|
||||
module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
|
||||
proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
proc.communicate()
|
||||
proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
stdout, _ = proc.communicate()
|
||||
git_sha1 += stdout.decode("utf-8")
|
||||
sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest()
|
||||
with open(oe_hash_file, 'w') as fobj:
|
||||
fobj.write(sha1)
|
||||
ret = oe_hash_file + ':True'
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#
|
||||
# It should be used in recipes to determine whether gtk-doc based documentation should be built,
|
||||
# so that qemu use can be avoided when necessary.
|
||||
GTKDOC_ENABLED_class-native = "False"
|
||||
GTKDOC_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \
|
||||
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ IMAGE_CMD_squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAM
|
||||
|
||||
IMAGE_CMD_TAR ?= "tar"
|
||||
# ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs
|
||||
IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
|
||||
IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --format=gnu --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
|
||||
|
||||
do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append"
|
||||
IMAGE_CMD_cpio () {
|
||||
|
||||
@@ -27,7 +27,7 @@ WARN_QA ?= " libdir xorg-driver-abi \
|
||||
infodir build-deps src-uri-bad symlink-to-sysroot multilib \
|
||||
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
|
||||
mime mime-xdg unlisted-pkg-lics unhandled-features-check \
|
||||
missing-update-alternatives \
|
||||
missing-update-alternatives native-last \
|
||||
"
|
||||
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
|
||||
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
|
||||
@@ -1366,6 +1366,37 @@ python () {
|
||||
d.setVarFlag('do_package_qa', 'rdeptask', '')
|
||||
for i in issues:
|
||||
package_qa_handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE"), i), d)
|
||||
|
||||
if 'native-last' not in (d.getVar('INSANE_SKIP') or "").split():
|
||||
for native_class in ['native', 'nativesdk']:
|
||||
if bb.data.inherits_class(native_class, d):
|
||||
|
||||
inherited_classes = d.getVar('__inherit_cache', False) or []
|
||||
needle = os.path.join('classes', native_class)
|
||||
|
||||
bbclassextend = (d.getVar('BBCLASSEXTEND') or '').split()
|
||||
# BBCLASSEXTEND items are always added in the end
|
||||
skip_classes = bbclassextend
|
||||
if bb.data.inherits_class('native', d) or 'native' in bbclassextend:
|
||||
# native also inherits nopackages and relocatable bbclasses
|
||||
skip_classes.extend(['nopackages', 'relocatable'])
|
||||
|
||||
broken_order = []
|
||||
for class_item in reversed(inherited_classes):
|
||||
if needle not in class_item:
|
||||
for extend_item in skip_classes:
|
||||
if os.path.join('classes', '%s.bbclass' % extend_item) in class_item:
|
||||
break
|
||||
else:
|
||||
pn = d.getVar('PN')
|
||||
broken_order.append(os.path.basename(class_item))
|
||||
else:
|
||||
break
|
||||
if broken_order:
|
||||
package_qa_handle_error("native-last", "%s: native/nativesdk class is not inherited last, this can result in unexpected behaviour. "
|
||||
"Classes inherited after native/nativesdk: %s" % (pn, " ".join(broken_order)), d)
|
||||
|
||||
|
||||
qa_sane = d.getVar("QA_SANE")
|
||||
if not qa_sane:
|
||||
bb.fatal("Fatal QA errors found, failing task.")
|
||||
|
||||
@@ -759,7 +759,7 @@ kernel_do_deploy() {
|
||||
fi
|
||||
|
||||
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
|
||||
for imageType in ${KERNEL_IMAGETYPES} ; do
|
||||
for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
|
||||
if [ "$imageType" = "fitImage" ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -5,20 +5,12 @@ inherit relocatable
|
||||
# no need for them to be a direct target of 'world'
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
PACKAGES = ""
|
||||
PACKAGES_class-native = ""
|
||||
PACKAGES_DYNAMIC = ""
|
||||
PACKAGES_DYNAMIC_class-native = ""
|
||||
PACKAGE_ARCH = "${BUILD_ARCH}"
|
||||
|
||||
# used by cmake class
|
||||
OECMAKE_RPATH = "${libdir}"
|
||||
OECMAKE_RPATH_class-native = "${libdir}"
|
||||
|
||||
# When this class has packaging enabled, setting
|
||||
# RPROVIDES becomes unnecessary.
|
||||
RPROVIDES = "${PN}"
|
||||
|
||||
TARGET_ARCH = "${BUILD_ARCH}"
|
||||
TARGET_OS = "${BUILD_OS}"
|
||||
TARGET_VENDOR = "${BUILD_VENDOR}"
|
||||
@@ -138,7 +130,7 @@ python native_virtclass_handler () {
|
||||
if "native" not in classextend:
|
||||
return
|
||||
|
||||
def map_dependencies(varname, d, suffix = ""):
|
||||
def map_dependencies(varname, d, suffix = "", selfref=True):
|
||||
if suffix:
|
||||
varname = varname + "_" + suffix
|
||||
deps = d.getVar(varname)
|
||||
@@ -148,22 +140,25 @@ python native_virtclass_handler () {
|
||||
newdeps = []
|
||||
for dep in deps:
|
||||
if dep == pn:
|
||||
continue
|
||||
if not selfref:
|
||||
continue
|
||||
newdeps.append(dep)
|
||||
elif "-cross-" in dep:
|
||||
newdeps.append(dep.replace("-cross", "-native"))
|
||||
elif not dep.endswith("-native"):
|
||||
newdeps.append(dep + "-native")
|
||||
newdeps.append(dep.replace("-native", "") + "-native")
|
||||
else:
|
||||
newdeps.append(dep)
|
||||
d.setVar(varname, " ".join(newdeps))
|
||||
d.setVar(varname, " ".join(newdeps), parsing=True)
|
||||
|
||||
map_dependencies("DEPENDS", e.data)
|
||||
for pkg in [e.data.getVar("PN"), "", "${PN}"]:
|
||||
map_dependencies("DEPENDS", e.data, selfref=False)
|
||||
for pkg in e.data.getVar("PACKAGES", False).split():
|
||||
map_dependencies("RDEPENDS", e.data, pkg)
|
||||
map_dependencies("RRECOMMENDS", e.data, pkg)
|
||||
map_dependencies("RSUGGESTS", e.data, pkg)
|
||||
map_dependencies("RPROVIDES", e.data, pkg)
|
||||
map_dependencies("RREPLACES", e.data, pkg)
|
||||
map_dependencies("PACKAGES", e.data)
|
||||
|
||||
provides = e.data.getVar("PROVIDES")
|
||||
nprovides = []
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
# NPM_INSTALL_DEV:
|
||||
# Set to 1 to also install devDependencies.
|
||||
|
||||
inherit python3native
|
||||
|
||||
DEPENDS_prepend = "nodejs-native "
|
||||
RDEPENDS_${PN}_prepend = "nodejs "
|
||||
|
||||
@@ -248,9 +250,7 @@ python npm_do_compile() {
|
||||
sysroot = d.getVar("RECIPE_SYSROOT_NATIVE")
|
||||
nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/"))
|
||||
configs.append(("nodedir", nodedir))
|
||||
bindir = os.path.join(sysroot, d.getVar("bindir_native").strip("/"))
|
||||
pythondir = os.path.join(bindir, "python-native", "python")
|
||||
configs.append(("python", pythondir))
|
||||
configs.append(("python", d.getVar("PYTHON")))
|
||||
|
||||
# Add node-pre-gyp configuration
|
||||
args.append(("target_arch", d.getVar("NPM_ARCH")))
|
||||
|
||||
@@ -2452,6 +2452,7 @@ python do_packagedata () {
|
||||
|
||||
bb.build.exec_func("packagedata_translate_pr_autoinc", d)
|
||||
}
|
||||
do_packagedata[cleandirs] += "${WORKDIR}/pkgdata-pdata-input"
|
||||
|
||||
# Translate the EXTENDPRAUTO and AUTOINC to the final values
|
||||
packagedata_translate_pr_autoinc() {
|
||||
|
||||
@@ -300,13 +300,13 @@ python write_specfile () {
|
||||
srccustomtagschunk = get_package_additional_metadata("rpm", localdata)
|
||||
|
||||
srcdepends = d.getVar('DEPENDS')
|
||||
srcrdepends = []
|
||||
srcrrecommends = []
|
||||
srcrsuggests = []
|
||||
srcrprovides = []
|
||||
srcrreplaces = []
|
||||
srcrconflicts = []
|
||||
srcrobsoletes = []
|
||||
srcrdepends = ""
|
||||
srcrrecommends = ""
|
||||
srcrsuggests = ""
|
||||
srcrprovides = ""
|
||||
srcrreplaces = ""
|
||||
srcrconflicts = ""
|
||||
srcrobsoletes = ""
|
||||
|
||||
srcrpreinst = []
|
||||
srcrpostinst = []
|
||||
@@ -365,13 +365,13 @@ python write_specfile () {
|
||||
# Map the dependencies into their final form
|
||||
mapping_rename_hook(localdata)
|
||||
|
||||
splitrdepends = localdata.getVar('RDEPENDS')
|
||||
splitrrecommends = localdata.getVar('RRECOMMENDS')
|
||||
splitrsuggests = localdata.getVar('RSUGGESTS')
|
||||
splitrprovides = localdata.getVar('RPROVIDES')
|
||||
splitrreplaces = localdata.getVar('RREPLACES')
|
||||
splitrconflicts = localdata.getVar('RCONFLICTS')
|
||||
splitrobsoletes = []
|
||||
splitrdepends = localdata.getVar('RDEPENDS') or ""
|
||||
splitrrecommends = localdata.getVar('RRECOMMENDS') or ""
|
||||
splitrsuggests = localdata.getVar('RSUGGESTS') or ""
|
||||
splitrprovides = localdata.getVar('RPROVIDES') or ""
|
||||
splitrreplaces = localdata.getVar('RREPLACES') or ""
|
||||
splitrconflicts = localdata.getVar('RCONFLICTS') or ""
|
||||
splitrobsoletes = ""
|
||||
|
||||
splitrpreinst = localdata.getVar('pkg_preinst')
|
||||
splitrpostinst = localdata.getVar('pkg_postinst')
|
||||
@@ -439,9 +439,9 @@ python write_specfile () {
|
||||
spec_preamble_bottom.append(splitcustomtagschunk)
|
||||
|
||||
# Replaces == Obsoletes && Provides
|
||||
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes or "")
|
||||
rprovides = bb.utils.explode_dep_versions2(splitrprovides or "")
|
||||
rreplaces = bb.utils.explode_dep_versions2(splitrreplaces or "")
|
||||
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes)
|
||||
rprovides = bb.utils.explode_dep_versions2(splitrprovides)
|
||||
rreplaces = bb.utils.explode_dep_versions2(splitrreplaces)
|
||||
for dep in rreplaces:
|
||||
if not dep in robsoletes:
|
||||
robsoletes[dep] = rreplaces[dep]
|
||||
@@ -533,9 +533,9 @@ python write_specfile () {
|
||||
tail_source(d)
|
||||
|
||||
# Replaces == Obsoletes && Provides
|
||||
robsoletes = bb.utils.explode_dep_versions2(srcrobsoletes or "")
|
||||
rprovides = bb.utils.explode_dep_versions2(srcrprovides or "")
|
||||
rreplaces = bb.utils.explode_dep_versions2(srcrreplaces or "")
|
||||
robsoletes = bb.utils.explode_dep_versions2(srcrobsoletes)
|
||||
rprovides = bb.utils.explode_dep_versions2(srcrprovides)
|
||||
rreplaces = bb.utils.explode_dep_versions2(srcrreplaces)
|
||||
for dep in rreplaces:
|
||||
if not dep in robsoletes:
|
||||
robsoletes[dep] = rreplaces[dep]
|
||||
|
||||
@@ -703,6 +703,23 @@ def check_sanity_version_change(status, d):
|
||||
if (tmpdirmode & stat.S_ISUID):
|
||||
status.addresult("TMPDIR is setuid, please don't build in a setuid directory")
|
||||
|
||||
# Check that a user isn't building in a path in PSEUDO_IGNORE_PATHS
|
||||
pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
|
||||
workdir = d.getVar('WORKDIR', expand=True)
|
||||
for i in pseudoignorepaths:
|
||||
if i and workdir.startswith(i):
|
||||
status.addresult("You are building in a path included in PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this path.\n")
|
||||
|
||||
# Check if PSEUDO_IGNORE_PATHS and and paths under pseudo control overlap
|
||||
pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
|
||||
pseudo_control_dir = "${D},${PKGD},${PKGDEST},${IMAGEROOTFS},${SDK_OUTPUT}"
|
||||
pseudocontroldir = d.expand(pseudo_control_dir).split(",")
|
||||
for i in pseudoignorepaths:
|
||||
for j in pseudocontroldir:
|
||||
if i and j:
|
||||
if j.startswith(i):
|
||||
status.addresult("A path included in PSEUDO_IGNORE_PATHS " + str(i) + " and the path " + str(j) + " overlap and this will break pseudo permission and ownership tracking. Please set the path " + str(j) + " to a different directory which does not overlap with pseudo controlled directories. \n")
|
||||
|
||||
# Some third-party software apparently relies on chmod etc. being suid root (!!)
|
||||
import stat
|
||||
suid_check_bins = "chown chmod mknod".split()
|
||||
@@ -787,6 +804,11 @@ def check_sanity_everybuild(status, d):
|
||||
if "." in paths or "./" in paths or "" in paths:
|
||||
status.addresult("PATH contains '.', './' or '' (empty element), which will break the build, please remove this.\nParsed PATH is " + str(paths) + "\n")
|
||||
|
||||
#Check if bitbake is present in PATH environment variable
|
||||
bb_check = bb.utils.which(d.getVar('PATH'), 'bitbake')
|
||||
if not bb_check:
|
||||
bb.warn("bitbake binary is not found in PATH, did you source the script?")
|
||||
|
||||
# Check whether 'inherit' directive is found (used for a class to inherit)
|
||||
# in conf file it's supposed to be uppercase INHERIT
|
||||
inherit = d.getVar('inherit')
|
||||
|
||||
@@ -28,11 +28,15 @@ SYSROOT_DIRS_BLACKLIST = " \
|
||||
${mandir} \
|
||||
${docdir} \
|
||||
${infodir} \
|
||||
${datadir}/X11/locale \
|
||||
${datadir}/applications \
|
||||
${datadir}/bash-completion \
|
||||
${datadir}/fonts \
|
||||
${datadir}/gtk-doc/html \
|
||||
${datadir}/installed-tests \
|
||||
${datadir}/locale \
|
||||
${datadir}/pixmaps \
|
||||
${datadir}/terminfo \
|
||||
${libdir}/${BPN}/ptest \
|
||||
"
|
||||
|
||||
|
||||
@@ -272,10 +272,8 @@ DEPCHAIN_PRE = ""
|
||||
DEPCHAIN_POST = "-dev -dbg"
|
||||
|
||||
DEPENDS = ""
|
||||
RDEPENDS = ""
|
||||
PROVIDES = ""
|
||||
PROVIDES_prepend = "${PN} "
|
||||
RPROVIDES = ""
|
||||
|
||||
MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"
|
||||
|
||||
|
||||
@@ -2,3 +2,4 @@
|
||||
# Default preferred versions
|
||||
#
|
||||
|
||||
PREFERRED_VERSION_adwaita-icon-theme ?= "3.34.3"
|
||||
|
||||
@@ -85,8 +85,8 @@ RECIPE_MAINTAINER_pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.o
|
||||
RECIPE_MAINTAINER_pn-buildtools-extended-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-busybox = "Andrej Valek <andrej.valek@siemens.com>"
|
||||
RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-bzip2 = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
@@ -122,7 +122,7 @@ RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linux
|
||||
RECIPE_MAINTAINER_pn-core-image-sato-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-core-image-sato-sdk-ptest = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-cracklib = "Armin Kuster <akuster808@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-createrepo-c = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-cronie = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
@@ -232,7 +232,7 @@ RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alex.kanavin@gm
|
||||
RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-grub-bootconf = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
@@ -253,9 +253,9 @@ RECIPE_MAINTAINER_pn-gstreamer1.0-rtsp-server = "Anuj Mittal <anuj.mittal@intel.
|
||||
RECIPE_MAINTAINER_pn-gstreamer1.0-vaapi = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-gtk+3 = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-gtk-doc = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-gzip = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-gzip = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-harfbuzz = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-hdparm = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-hdparm = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-help2man = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-hicolor-icon-theme = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-hwlatdetect = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
@@ -461,10 +461,10 @@ RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-lttng-tools = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-lttng-ust = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-lz4 = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-lzo = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-lzip = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-lzop = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-lzop = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-make = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
@@ -508,7 +508,7 @@ RECIPE_MAINTAINER_pn-mpeg2dec = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-mpfr = "Khem Raj <raj.khem@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-msmtp = "Wang Mingyu <wangmy@cn.fujitsu.com>"
|
||||
RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-mtdev = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-musl = "Khem Raj <raj.khem@gmail.com>"
|
||||
@@ -553,7 +553,7 @@ RECIPE_MAINTAINER_pn-pango = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-parted = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-patch = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-patchelf = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
|
||||
@@ -668,6 +668,7 @@ RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-speex = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER_pn-speexdsp = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER_pn-spirv-headers = "Jose Quaresma <quaresma.jose@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
@@ -714,7 +715,7 @@ RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-uninative-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER_pn-unzip = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-unzip = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-update-rc.d = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-usbinit = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-usbutils = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
@@ -735,12 +736,12 @@ RECIPE_MAINTAINER_pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-waffle = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER_pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
|
||||
RECIPE_MAINTAINER_pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
@@ -794,7 +795,7 @@ RECIPE_MAINTAINER_pn-xtrans = "Armin Kuster <akuster808@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-xuser-account = "Armin Kuster <akuster808@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster <akuster808@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster <akuster808@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko <denys@ti.com>"
|
||||
RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko <denis@denix.org>"
|
||||
RECIPE_MAINTAINER_pn-zstd = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
|
||||
@@ -18,9 +18,9 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
||||
|
||||
GCCVERSION ?= "10.%"
|
||||
SDKGCCVERSION ?= "${GCCVERSION}"
|
||||
BINUVERSION ?= "2.35%"
|
||||
BINUVERSION ?= "2.36%"
|
||||
GDBVERSION ?= "10.%"
|
||||
GLIBCVERSION ?= "2.32"
|
||||
GLIBCVERSION ?= "2.33"
|
||||
LINUXLIBCVERSION ?= "5.10%"
|
||||
QEMUVERSION ?= "5.2%"
|
||||
GOVERSION ?= "1.15%"
|
||||
|
||||
@@ -21,7 +21,7 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
|
||||
# Use a common kernel recipe for all QEMU machines
|
||||
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
|
||||
EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native"
|
||||
|
||||
# Provide the nfs server kernel module for all qemu images
|
||||
KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
|
||||
|
||||
7
meta/files/common-licenses/GPL-3-with-bison-exception
Normal file
7
meta/files/common-licenses/GPL-3-with-bison-exception
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
insert GPL v3 text here
|
||||
|
||||
Bison Exception
|
||||
As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn`t itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception.
|
||||
This special exception was added by the Free Software Foundation in version 2.2 of Bison.
|
||||
|
||||
60
meta/lib/oe/cve_check.py
Normal file
60
meta/lib/oe/cve_check.py
Normal file
@@ -0,0 +1,60 @@
|
||||
import collections
|
||||
import re
|
||||
import itertools
|
||||
import functools
|
||||
|
||||
_Version = collections.namedtuple(
|
||||
"_Version", ["release", "patch_l", "pre_l", "pre_v"]
|
||||
)
|
||||
|
||||
@functools.total_ordering
|
||||
class Version():
|
||||
|
||||
def __init__(self, version, suffix=None):
|
||||
if str(suffix) == "alphabetical":
|
||||
version_pattern = r"""r?v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<patch>[-_\.]?(?P<patch_l>[a-z]))?(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
|
||||
else:
|
||||
version_pattern = r"""r?v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
|
||||
regex = re.compile(r"^\s*" + version_pattern + r"\s*$", re.VERBOSE | re.IGNORECASE)
|
||||
|
||||
match = regex.search(version)
|
||||
if not match:
|
||||
raise Exception("Invalid version: '{0}'".format(version))
|
||||
|
||||
self._version = _Version(
|
||||
release=tuple(int(i) for i in match.group("release").replace("-",".").split(".")),
|
||||
patch_l=match.group("patch_l") if str(suffix) == "alphabetical" and match.group("patch_l") else "",
|
||||
pre_l=match.group("pre_l"),
|
||||
pre_v=match.group("pre_v")
|
||||
)
|
||||
|
||||
self._key = _cmpkey(
|
||||
self._version.release,
|
||||
self._version.patch_l,
|
||||
self._version.pre_l,
|
||||
self._version.pre_v
|
||||
)
|
||||
|
||||
def __eq__(self, other):
|
||||
if not isinstance(other, Version):
|
||||
return NotImplemented
|
||||
return self._key == other._key
|
||||
|
||||
def __gt__(self, other):
|
||||
if not isinstance(other, Version):
|
||||
return NotImplemented
|
||||
return self._key > other._key
|
||||
|
||||
def _cmpkey(release, patch_l, pre_l, pre_v):
|
||||
# remove leading 0
|
||||
_release = tuple(
|
||||
reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release))))
|
||||
)
|
||||
|
||||
_patch = patch_l.upper()
|
||||
|
||||
if pre_l is None and pre_v is None:
|
||||
_pre = float('inf')
|
||||
else:
|
||||
_pre = float(pre_v) if pre_v else float('-inf')
|
||||
return _release, _patch, _pre
|
||||
@@ -328,7 +328,11 @@ class PackageManager(object, metaclass=ABCMeta):
|
||||
try:
|
||||
bb.note("Installing globbed packages...")
|
||||
cmd = ["oe-pkgdata-util", "-p", pkgdatadir, "list-pkgs", globs]
|
||||
pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
|
||||
bb.note('Running %s' % cmd)
|
||||
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
stdout, stderr = proc.communicate()
|
||||
if stderr: bb.note(stderr.decode("utf-8"))
|
||||
pkgs = stdout.decode("utf-8")
|
||||
self.install(pkgs.split(), attempt_only=True)
|
||||
except subprocess.CalledProcessError as e:
|
||||
# Return code 1 means no packages matched
|
||||
@@ -384,7 +388,10 @@ class PackageManager(object, metaclass=ABCMeta):
|
||||
cmd.extend(['--exclude=' + '|'.join(exclude.split())])
|
||||
try:
|
||||
bb.note('Running %s' % cmd)
|
||||
complementary_pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
|
||||
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
stdout, stderr = proc.communicate()
|
||||
if stderr: bb.note(stderr.decode("utf-8"))
|
||||
complementary_pkgs = stdout.decode("utf-8")
|
||||
complementary_pkgs = set(complementary_pkgs.split())
|
||||
skip_pkgs = sorted(complementary_pkgs & provided_pkgs)
|
||||
install_pkgs = sorted(complementary_pkgs - provided_pkgs)
|
||||
|
||||
@@ -33,6 +33,9 @@ class RpmIndexer(Indexer):
|
||||
class RpmSubdirIndexer(RpmIndexer):
|
||||
def write_index(self):
|
||||
bb.note("Generating package index for %s" %(self.deploy_dir))
|
||||
# Remove the existing repodata to ensure that we re-generate it no matter what
|
||||
bb.utils.remove(os.path.join(self.deploy_dir, "repodata"), recurse=True)
|
||||
|
||||
self.do_write_index(self.deploy_dir)
|
||||
for entry in os.walk(self.deploy_dir):
|
||||
if os.path.samefile(self.deploy_dir, entry[0]):
|
||||
|
||||
@@ -38,15 +38,19 @@ def runcmd(args, dir = None):
|
||||
args = [ pipes.quote(str(arg)) for arg in args ]
|
||||
cmd = " ".join(args)
|
||||
# print("cmd: %s" % cmd)
|
||||
(exitstatus, output) = subprocess.getstatusoutput(cmd)
|
||||
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
|
||||
stdout, stderr = proc.communicate()
|
||||
stdout = stdout.decode('utf-8')
|
||||
stderr = stderr.decode('utf-8')
|
||||
exitstatus = proc.returncode
|
||||
if exitstatus != 0:
|
||||
raise CmdError(cmd, exitstatus >> 8, output)
|
||||
if " fuzz " in output and "Hunk " in output:
|
||||
raise CmdError(cmd, exitstatus >> 8, "stdout: %s\nstderr: %s" % (stdout, stderr))
|
||||
if " fuzz " in stdout and "Hunk " in stdout:
|
||||
# Drop patch fuzz info with header and footer to log file so
|
||||
# insane.bbclass can handle to throw error/warning
|
||||
bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(output))
|
||||
bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(stdout))
|
||||
|
||||
return output
|
||||
return stdout
|
||||
|
||||
finally:
|
||||
if dir:
|
||||
@@ -512,7 +516,7 @@ class GitApplyTree(PatchTree):
|
||||
try:
|
||||
shellcmd = [patchfilevar, "git", "--work-tree=%s" % reporoot]
|
||||
self.gitCommandUserOptions(shellcmd, self.commituser, self.commitemail)
|
||||
shellcmd += ["am", "-3", "--keep-cr", "-p%s" % patch['strippath']]
|
||||
shellcmd += ["am", "-3", "--keep-cr", "--no-scissors", "-p%s" % patch['strippath']]
|
||||
return _applypatchhelper(shellcmd, patch, force, reverse, run)
|
||||
except CmdError:
|
||||
# Need to abort the git am, or we'll still be within it at the end
|
||||
|
||||
@@ -552,9 +552,11 @@ def OEOuthashBasic(path, sigfile, task, d):
|
||||
try:
|
||||
update_hash(" %10s" % pwd.getpwuid(s.st_uid).pw_name)
|
||||
update_hash(" %10s" % grp.getgrgid(s.st_gid).gr_name)
|
||||
except KeyError:
|
||||
except KeyError as e:
|
||||
bb.warn("KeyError in %s" % path)
|
||||
raise
|
||||
msg = ("KeyError: %s\nPath %s is owned by uid %d, gid %d, which doesn't match "
|
||||
"any user/group on target. This may be due to host contamination." % (e, path, s.st_uid, s.st_gid))
|
||||
raise Exception(msg).with_traceback(e.__traceback__)
|
||||
|
||||
if include_timestamps:
|
||||
update_hash(" %10d" % s.st_mtime)
|
||||
|
||||
36
meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
Normal file
36
meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.core.decorator.data import skipIfQemu
|
||||
|
||||
class Ethernet_Test(OERuntimeTestCase):
|
||||
|
||||
def set_ip(self, x):
|
||||
x = x.split(".")
|
||||
sample_host_address = '150'
|
||||
x[3] = sample_host_address
|
||||
x = '.'.join(x)
|
||||
return x
|
||||
|
||||
@skipIfQemu('qemuall', 'Test only runs on real hardware')
|
||||
@OETestDepends(['ssh.SSHTest.test_ssh'])
|
||||
def test_set_virtual_ip(self):
|
||||
(status, output) = self.target.run("ifconfig eth0 | grep 'inet ' | awk '{print $2}'")
|
||||
self.assertEqual(status, 0, msg='Failed to get ip address. Make sure you have an ethernet connection on your device, output: %s' % output)
|
||||
original_ip = output
|
||||
virtual_ip = self.set_ip(original_ip)
|
||||
|
||||
(status, output) = self.target.run("ifconfig eth0:1 %s netmask 255.255.255.0 && sleep 2 && ping -c 5 %s && ifconfig eth0:1 down" % (virtual_ip,virtual_ip))
|
||||
self.assertEqual(status, 0, msg='Failed to create virtual ip address, output: %s' % output)
|
||||
|
||||
@OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip'])
|
||||
def test_get_ip_from_dhcp(self):
|
||||
(status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'")
|
||||
self.assertEqual(status, 0, msg='No wired interfaces are detected, output: %s' % output)
|
||||
wired_interfaces = output
|
||||
|
||||
(status, output) = self.target.run("ip route | grep default | awk '{print $3}'")
|
||||
self.assertEqual(status, 0, msg='Failed to retrieve the default gateway, output: %s' % output)
|
||||
default_gateway = output
|
||||
|
||||
(status, output) = self.target.run("connmanctl config %s --ipv4 dhcp && sleep 2 && ping -c 5 %s" % (wired_interfaces,default_gateway))
|
||||
self.assertEqual(status, 0, msg='Failed to get dynamic IP address via DHCP in connmand, output: %s' % output)
|
||||
22
meta/lib/oeqa/runtime/cases/usb_hid.py
Normal file
22
meta/lib/oeqa/runtime/cases/usb_hid.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.core.decorator.data import skipIfQemu
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
|
||||
class USB_HID_Test(OERuntimeTestCase):
|
||||
|
||||
def keyboard_mouse_simulation(self):
|
||||
(status, output) = self.target.run('export DISPLAY=:0 && xdotool key F2 && xdotool mousemove 100 100')
|
||||
return self.assertEqual(status, 0, msg = 'Failed to simulate keyboard/mouse input event, output : %s' % output)
|
||||
|
||||
def set_suspend(self):
|
||||
(status, output) = self.target.run('sudo rtcwake -m mem -s 10')
|
||||
return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
|
||||
|
||||
@OEHasPackage(['xdotool'])
|
||||
@skipIfQemu('qemuall', 'Test only runs on real hardware')
|
||||
@OETestDepends(['ssh.SSHTest.test_ssh'])
|
||||
def test_USB_Hid_input(self):
|
||||
self.keyboard_mouse_simulation()
|
||||
self.set_suspend()
|
||||
self.keyboard_mouse_simulation()
|
||||
36
meta/lib/oeqa/selftest/cases/cve_check.py
Normal file
36
meta/lib/oeqa/selftest/cases/cve_check.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from oe.cve_check import Version
|
||||
from oeqa.selftest.case import OESelftestTestCase
|
||||
|
||||
class CVECheck(OESelftestTestCase):
|
||||
|
||||
def test_version_compare(self):
|
||||
result = Version("100") > Version("99")
|
||||
self.assertTrue( result, msg="Failed to compare version '100' > '99'")
|
||||
result = Version("2.3.1") > Version("2.2.3")
|
||||
self.assertTrue( result, msg="Failed to compare version '2.3.1' > '2.2.3'")
|
||||
result = Version("2021-01-21") > Version("2020-12-25")
|
||||
self.assertTrue( result, msg="Failed to compare version '2021-01-21' > '2020-12-25'")
|
||||
result = Version("1.2-20200910") < Version("1.2-20200920")
|
||||
self.assertTrue( result, msg="Failed to compare version '1.2-20200910' < '1.2-20200920'")
|
||||
|
||||
result = Version("1.0") >= Version("1.0beta")
|
||||
self.assertTrue( result, msg="Failed to compare version '1.0' >= '1.0beta'")
|
||||
result = Version("1.0-rc2") > Version("1.0-rc1")
|
||||
self.assertTrue( result, msg="Failed to compare version '1.0-rc2' > '1.0-rc1'")
|
||||
result = Version("1.0.alpha1") < Version("1.0")
|
||||
self.assertTrue( result, msg="Failed to compare version '1.0.alpha1' < '1.0'")
|
||||
result = Version("1.0_dev") <= Version("1.0")
|
||||
self.assertTrue( result, msg="Failed to compare version '1.0_dev' <= '1.0'")
|
||||
|
||||
# ignore "p1" and "p2", so these should be equal
|
||||
result = Version("1.0p2") == Version("1.0p1")
|
||||
self.assertTrue( result ,msg="Failed to compare version '1.0p2' to '1.0p1'")
|
||||
# ignore the "b" and "r"
|
||||
result = Version("1.0b") == Version("1.0r")
|
||||
self.assertTrue( result ,msg="Failed to compare version '1.0b' to '1.0r'")
|
||||
|
||||
# consider the trailing alphabet as patched level when comparing
|
||||
result = Version("1.0b","alphabetical") < Version("1.0r","alphabetical")
|
||||
self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' < '1.0r'")
|
||||
result = Version("1.0b","alphabetical") > Version("1.0","alphabetical")
|
||||
self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' > '1.0'")
|
||||
@@ -697,7 +697,44 @@ class DevtoolModifyTests(DevtoolBase):
|
||||
|
||||
self.assertTrue(bbclassextended, 'None of these recipes are BBCLASSEXTENDed to native - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
|
||||
self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
|
||||
def test_devtool_modify_localfiles_only(self):
|
||||
# Check preconditions
|
||||
testrecipe = 'base-files'
|
||||
src_uri = (get_bb_var('SRC_URI', testrecipe) or '').split()
|
||||
foundlocalonly = False
|
||||
correct_symlink = False
|
||||
for item in src_uri:
|
||||
if item.startswith('file://'):
|
||||
if '.patch' not in item:
|
||||
foundlocalonly = True
|
||||
else:
|
||||
foundlocalonly = False
|
||||
break
|
||||
self.assertTrue(foundlocalonly, 'This test expects the %s recipe to fetch local files only and it seems that it no longer does' % testrecipe)
|
||||
# Clean up anything in the workdir/sysroot/sstate cache
|
||||
bitbake('%s -c cleansstate' % testrecipe)
|
||||
# Try modifying a recipe
|
||||
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
|
||||
self.track_for_cleanup(tempdir)
|
||||
self.track_for_cleanup(self.workspacedir)
|
||||
self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
|
||||
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
|
||||
result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
|
||||
srcfile = os.path.join(tempdir, 'oe-local-files/share/dot.bashrc')
|
||||
srclink = os.path.join(tempdir, 'share/dot.bashrc')
|
||||
self.assertExists(srcfile, 'Extracted source could not be found')
|
||||
if os.path.islink(srclink) and os.path.exists(srclink) and os.path.samefile(srcfile, srclink):
|
||||
correct_symlink = True
|
||||
self.assertTrue(correct_symlink, 'Source symlink to oe-local-files is broken')
|
||||
|
||||
matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % testrecipe))
|
||||
self.assertTrue(matches, 'bbappend not created')
|
||||
# Test devtool status
|
||||
result = runCmd('devtool status')
|
||||
self.assertIn(testrecipe, result.output)
|
||||
self.assertIn(tempdir, result.output)
|
||||
# Try building
|
||||
bitbake(testrecipe)
|
||||
|
||||
def test_devtool_modify_git(self):
|
||||
# Check preconditions
|
||||
|
||||
@@ -100,9 +100,11 @@ class TinfoilTests(OESelftestTestCase):
|
||||
eventreceived = False
|
||||
commandcomplete = False
|
||||
start = time.time()
|
||||
# Wait for 10s in total so we'd detect spurious heartbeat events for example
|
||||
# Wait for maximum 60s in total so we'd detect spurious heartbeat events for example
|
||||
# The test is IO load sensitive too
|
||||
while time.time() - start < 10:
|
||||
while (not (eventreceived == True and commandcomplete == True)
|
||||
and (time.time() - start < 60)):
|
||||
# if we received both events (on let's say a good day), we are done
|
||||
event = tinfoil.wait_event(1)
|
||||
if event:
|
||||
if isinstance(event, bb.command.CommandCompleted):
|
||||
|
||||
@@ -588,6 +588,9 @@ part / --source rootfs --fstype=ext4 --include-path %s --include-path core-imag
|
||||
def test_permissions(self):
|
||||
"""Test permissions are respected"""
|
||||
|
||||
# prepare wicenv and rootfs
|
||||
bitbake('core-image-minimal core-image-minimal-mtdutils -c do_rootfs_wicenv')
|
||||
|
||||
oldpath = os.environ['PATH']
|
||||
os.environ['PATH'] = get_bb_var("PATH", "wic-tools")
|
||||
|
||||
@@ -621,6 +624,19 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
|
||||
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % (part))
|
||||
self.assertEqual(True, files_own_by_root(res.output))
|
||||
|
||||
config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "%s"\n' % wks_file
|
||||
self.append_config(config)
|
||||
bitbake('core-image-minimal')
|
||||
tmpdir = os.path.join(get_bb_var('WORKDIR', 'core-image-minimal'),'build-wic')
|
||||
|
||||
# check each partition for permission
|
||||
for part in glob(os.path.join(tmpdir, 'temp-*.direct.p*')):
|
||||
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % (part))
|
||||
self.assertTrue(files_own_by_root(res.output)
|
||||
,msg='Files permission incorrect using wks set "%s"' % test)
|
||||
|
||||
# clean config and result directory for next cases
|
||||
self.remove_config(config)
|
||||
rmtree(self.resultdir, ignore_errors=True)
|
||||
|
||||
finally:
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From 6643507ce30f775008e093580f0c9499dfb2c485 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Hardy <simon.hardy@itdev.co.uk>
|
||||
Date: Tue, 24 Mar 2020 13:29:12 +0000
|
||||
Subject: build: Fix GRUB i386-pc build with Ubuntu gcc
|
||||
|
||||
With recent versions of gcc on Ubuntu a very large lzma_decompress.img file is
|
||||
output. (e.g. 134479600 bytes instead of 2864.) This causes grub-mkimage to
|
||||
fail with: "error: Decompressor is too big."
|
||||
|
||||
This seems to be caused by a section .note.gnu.property that is placed at an
|
||||
offset such that objcopy needs to pad the img file with zeros.
|
||||
|
||||
This issue is present on:
|
||||
Ubuntu 19.10 with gcc (Ubuntu 8.3.0-26ubuntu1~19.10) 8.3.0
|
||||
Ubuntu 19.10 with gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
|
||||
|
||||
This issue is not present on:
|
||||
Ubuntu 19.10 with gcc (Ubuntu 7.5.0-3ubuntu1~19.10) 7.5.0
|
||||
RHEL 8.0 with gcc 8.3.1 20190507 (Red Hat 8.3.1-4)
|
||||
|
||||
The issue can be fixed by removing the section using objcopy as shown in
|
||||
this patch.
|
||||
|
||||
Signed-off-by: Simon Hardy <simon.hardy@itdev.co.uk>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
---
|
||||
gentpl.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
diff --git a/gentpl.py b/gentpl.py
|
||||
index 387588c05..c86550d4f 100644
|
||||
--- a/gentpl.py
|
||||
+++ b/gentpl.py
|
||||
@@ -766,7 +766,7 @@ def image(defn, platform):
|
||||
if test x$(TARGET_APPLE_LINKER) = x1; then \
|
||||
$(MACHO2IMG) $< $@; \
|
||||
else \
|
||||
- $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; \
|
||||
+ $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; \
|
||||
fi
|
||||
""")
|
||||
|
||||
--
|
||||
cgit v1.2.1
|
||||
|
||||
@@ -27,6 +27,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
|
||||
file://script-Remove-unused-fields-from-grub_script_functio.patch \
|
||||
file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \
|
||||
file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \
|
||||
file://6643507ce30f775008e093580f0c9499dfb2c485.patch \
|
||||
file://determinism.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
|
||||
|
||||
@@ -3,9 +3,10 @@ Update autotools infrastructure (including gettext) to modern versions.
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Phil Blundell <pb@pbcl.net>
|
||||
|
||||
diff -uprN clean/lrzsz-0.12.20/configure.in lrzsz-0.12.20/configure.in
|
||||
--- clean/lrzsz-0.12.20/configure.in 1998-12-30 07:50:07.000000000 +0000
|
||||
+++ lrzsz-0.12.20/configure.in 2019-11-25 16:22:37.000000000 +0000
|
||||
Index: lrzsz-0.12.20/configure.in
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/configure.in
|
||||
+++ lrzsz-0.12.20/configure.in
|
||||
@@ -92,7 +92,6 @@ AC_PROG_RANLIB
|
||||
AC_ISC_POSIX
|
||||
AC_AIX
|
||||
@@ -14,7 +15,7 @@ diff -uprN clean/lrzsz-0.12.20/configure.in lrzsz-0.12.20/configure.in
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
|
||||
@@ -253,18 +252,13 @@ ihave$lookup_facility
|
||||
@@ -253,18 +252,14 @@ ihave$lookup_facility
|
||||
fi
|
||||
|
||||
|
||||
@@ -24,6 +25,7 @@ diff -uprN clean/lrzsz-0.12.20/configure.in lrzsz-0.12.20/configure.in
|
||||
|
||||
-AM_GNU_GETTEXT
|
||||
+AM_GNU_GETTEXT([external])
|
||||
+AM_GNU_GETTEXT_VERSION([0.21])
|
||||
|
||||
-AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")
|
||||
-AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
|
||||
@@ -36,9 +38,10 @@ diff -uprN clean/lrzsz-0.12.20/configure.in lrzsz-0.12.20/configure.in
|
||||
+[
|
||||
chmod +x debian/rules;
|
||||
test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/bindtextdom.c lrzsz-0.12.20/intl/bindtextdom.c
|
||||
--- clean/lrzsz-0.12.20/intl/bindtextdom.c 1998-04-26 14:22:36.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/bindtextdom.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/bindtextdom.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/bindtextdom.c
|
||||
+++ /dev/null
|
||||
@@ -1,199 +0,0 @@
|
||||
-/* Implementation of the bindtextdomain(3) function
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -239,9 +242,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/bindtextdom.c lrzsz-0.12.20/intl/bindtextdom
|
||||
-/* Alias for function name in GNU C Library. */
|
||||
-weak_alias (__bindtextdomain, bindtextdomain);
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/cat-compat.c lrzsz-0.12.20/intl/cat-compat.c
|
||||
--- clean/lrzsz-0.12.20/intl/cat-compat.c 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/cat-compat.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/cat-compat.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/cat-compat.c
|
||||
+++ /dev/null
|
||||
@@ -1,262 +0,0 @@
|
||||
-/* Compatibility code for gettext-using-catgets interface.
|
||||
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
@@ -505,9 +509,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/cat-compat.c lrzsz-0.12.20/intl/cat-compat.c
|
||||
- return dest - 1;
|
||||
-}
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/ChangeLog lrzsz-0.12.20/intl/ChangeLog
|
||||
--- clean/lrzsz-0.12.20/intl/ChangeLog 1998-04-26 14:22:35.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/ChangeLog 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/ChangeLog
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/ChangeLog
|
||||
+++ /dev/null
|
||||
@@ -1,1022 +0,0 @@
|
||||
-1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com>
|
||||
-
|
||||
@@ -1531,9 +1536,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/ChangeLog lrzsz-0.12.20/intl/ChangeLog
|
||||
- which allow to use the X/Open catgets function with an interface
|
||||
- like the Uniforum gettext function. For system which does not
|
||||
- have neither of those a complete implementation is provided.
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/dcgettext.c lrzsz-0.12.20/intl/dcgettext.c
|
||||
--- clean/lrzsz-0.12.20/intl/dcgettext.c 1998-04-26 14:22:36.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/dcgettext.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/dcgettext.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/dcgettext.c
|
||||
+++ /dev/null
|
||||
@@ -1,593 +0,0 @@
|
||||
-/* Implementation of the dcgettext(3) function
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -2128,9 +2134,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/dcgettext.c lrzsz-0.12.20/intl/dcgettext.c
|
||||
- return dest - 1;
|
||||
-}
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/dgettext.c lrzsz-0.12.20/intl/dgettext.c
|
||||
--- clean/lrzsz-0.12.20/intl/dgettext.c 1998-04-26 14:20:52.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/dgettext.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/dgettext.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/dgettext.c
|
||||
+++ /dev/null
|
||||
@@ -1,59 +0,0 @@
|
||||
-/* dgettext.c -- implementation of the dgettext(3) function
|
||||
- Copyright (C) 1995 Software Foundation, Inc.
|
||||
@@ -2191,9 +2198,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/dgettext.c lrzsz-0.12.20/intl/dgettext.c
|
||||
-/* Alias for function name in GNU C Library. */
|
||||
-weak_alias (__dgettext, dgettext);
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/explodename.c lrzsz-0.12.20/intl/explodename.c
|
||||
--- clean/lrzsz-0.12.20/intl/explodename.c 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/explodename.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/explodename.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/explodename.c
|
||||
+++ /dev/null
|
||||
@@ -1,181 +0,0 @@
|
||||
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
@@ -2376,9 +2384,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/explodename.c lrzsz-0.12.20/intl/explodename
|
||||
-
|
||||
- return mask;
|
||||
-}
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/finddomain.c lrzsz-0.12.20/intl/finddomain.c
|
||||
--- clean/lrzsz-0.12.20/intl/finddomain.c 1998-04-26 14:22:36.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/finddomain.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/finddomain.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/finddomain.c
|
||||
+++ /dev/null
|
||||
@@ -1,189 +0,0 @@
|
||||
-/* Handle list of needed message catalogs
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -2569,9 +2578,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/finddomain.c lrzsz-0.12.20/intl/finddomain.c
|
||||
-
|
||||
- return retval;
|
||||
-}
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/gettext.c lrzsz-0.12.20/intl/gettext.c
|
||||
--- clean/lrzsz-0.12.20/intl/gettext.c 1998-04-26 14:22:36.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/gettext.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/gettext.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/gettext.c
|
||||
+++ /dev/null
|
||||
@@ -1,70 +0,0 @@
|
||||
-/* Implementation of gettext(3) function
|
||||
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
@@ -2643,9 +2653,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/gettext.c lrzsz-0.12.20/intl/gettext.c
|
||||
-/* Alias for function name in GNU C Library. */
|
||||
-weak_alias (__gettext, gettext);
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/gettext.h lrzsz-0.12.20/intl/gettext.h
|
||||
--- clean/lrzsz-0.12.20/intl/gettext.h 1998-04-26 14:22:35.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/gettext.h 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/gettext.h
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/gettext.h
|
||||
+++ /dev/null
|
||||
@@ -1,105 +0,0 @@
|
||||
-/* Internal header for GNU gettext internationalization functions
|
||||
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
@@ -2752,9 +2763,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/gettext.h lrzsz-0.12.20/intl/gettext.h
|
||||
-/* @@ begin of epilog @@ */
|
||||
-
|
||||
-#endif /* gettext.h */
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/gettextP.h lrzsz-0.12.20/intl/gettextP.h
|
||||
--- clean/lrzsz-0.12.20/intl/gettextP.h 1998-04-26 14:22:35.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/gettextP.h 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/gettextP.h
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/gettextP.h
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-/* Header describing internals of gettext library
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -2829,9 +2841,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/gettextP.h lrzsz-0.12.20/intl/gettextP.h
|
||||
-/* @@ begin of epilog @@ */
|
||||
-
|
||||
-#endif /* gettextP.h */
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/hash-string.h lrzsz-0.12.20/intl/hash-string.h
|
||||
--- clean/lrzsz-0.12.20/intl/hash-string.h 1998-04-26 14:22:36.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/hash-string.h 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/hash-string.h
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/hash-string.h
|
||||
+++ /dev/null
|
||||
@@ -1,63 +0,0 @@
|
||||
-/* Implements a string hashing function.
|
||||
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
@@ -2896,9 +2909,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/hash-string.h lrzsz-0.12.20/intl/hash-string
|
||||
- }
|
||||
- return hval;
|
||||
-}
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/intl-compat.c lrzsz-0.12.20/intl/intl-compat.c
|
||||
--- clean/lrzsz-0.12.20/intl/intl-compat.c 1998-04-26 14:20:52.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/intl-compat.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/intl-compat.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/intl-compat.c
|
||||
+++ /dev/null
|
||||
@@ -1,76 +0,0 @@
|
||||
-/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
|
||||
- Library.
|
||||
@@ -2976,9 +2990,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/intl-compat.c lrzsz-0.12.20/intl/intl-compat
|
||||
-{
|
||||
- return textdomain__ (domainname);
|
||||
-}
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/l10nflist.c lrzsz-0.12.20/intl/l10nflist.c
|
||||
--- clean/lrzsz-0.12.20/intl/l10nflist.c 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/l10nflist.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/l10nflist.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/l10nflist.c
|
||||
+++ /dev/null
|
||||
@@ -1,409 +0,0 @@
|
||||
-/* Handle list of needed message catalogs
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -3389,9 +3404,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/l10nflist.c lrzsz-0.12.20/intl/l10nflist.c
|
||||
- return dest - 1;
|
||||
-}
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/libgettext.h lrzsz-0.12.20/intl/libgettext.h
|
||||
--- clean/lrzsz-0.12.20/intl/libgettext.h 1998-04-26 14:22:36.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/libgettext.h 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/libgettext.h
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/libgettext.h
|
||||
+++ /dev/null
|
||||
@@ -1,182 +0,0 @@
|
||||
-/* Message catalogs for internationalization.
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -3575,9 +3591,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/libgettext.h lrzsz-0.12.20/intl/libgettext.h
|
||||
-#endif
|
||||
-
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/linux-msg.sed lrzsz-0.12.20/intl/linux-msg.sed
|
||||
--- clean/lrzsz-0.12.20/intl/linux-msg.sed 1998-04-26 14:20:52.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/linux-msg.sed 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/linux-msg.sed
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/linux-msg.sed
|
||||
+++ /dev/null
|
||||
@@ -1,100 +0,0 @@
|
||||
-# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
|
||||
-# Copyright (C) 1995 Free Software Foundation, Inc.
|
||||
@@ -3679,9 +3696,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/linux-msg.sed lrzsz-0.12.20/intl/linux-msg.s
|
||||
- tb
|
||||
-}
|
||||
-d
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/loadinfo.h lrzsz-0.12.20/intl/loadinfo.h
|
||||
--- clean/lrzsz-0.12.20/intl/loadinfo.h 1998-04-26 14:20:52.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/loadinfo.h 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/loadinfo.h
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/loadinfo.h
|
||||
+++ /dev/null
|
||||
@@ -1,58 +0,0 @@
|
||||
-#ifndef PARAMS
|
||||
-# if __STDC__
|
||||
@@ -3741,9 +3759,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/loadinfo.h lrzsz-0.12.20/intl/loadinfo.h
|
||||
- const char **special,
|
||||
- const char **sponsor,
|
||||
- const char **revision));
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/loadmsgcat.c lrzsz-0.12.20/intl/loadmsgcat.c
|
||||
--- clean/lrzsz-0.12.20/intl/loadmsgcat.c 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/loadmsgcat.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/loadmsgcat.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/loadmsgcat.c
|
||||
+++ /dev/null
|
||||
@@ -1,199 +0,0 @@
|
||||
-/* Load needed message catalogs
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -3944,9 +3963,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/loadmsgcat.c lrzsz-0.12.20/intl/loadmsgcat.c
|
||||
- translations invalid. */
|
||||
- ++_nl_msg_cat_cntr;
|
||||
-}
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/localealias.c lrzsz-0.12.20/intl/localealias.c
|
||||
--- clean/lrzsz-0.12.20/intl/localealias.c 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/localealias.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/localealias.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/localealias.c
|
||||
+++ /dev/null
|
||||
@@ -1,378 +0,0 @@
|
||||
-/* Handle aliases for locale names
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -4326,9 +4346,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/localealias.c lrzsz-0.12.20/intl/localealias
|
||||
- return c1 - c2;
|
||||
-#endif
|
||||
-}
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/Makefile.in lrzsz-0.12.20/intl/Makefile.in
|
||||
--- clean/lrzsz-0.12.20/intl/Makefile.in 1998-04-26 14:22:35.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/Makefile.in 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/Makefile.in
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/Makefile.in
|
||||
+++ /dev/null
|
||||
@@ -1,214 +0,0 @@
|
||||
-# Makefile for directory with message catalog handling in GNU NLS Utilities.
|
||||
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -4544,9 +4565,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/Makefile.in lrzsz-0.12.20/intl/Makefile.in
|
||||
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
-# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
-.NOEXPORT:
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/po2tbl.sed.in lrzsz-0.12.20/intl/po2tbl.sed.in
|
||||
--- clean/lrzsz-0.12.20/intl/po2tbl.sed.in 1998-04-26 14:20:52.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/po2tbl.sed.in 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/po2tbl.sed.in
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/po2tbl.sed.in
|
||||
+++ /dev/null
|
||||
@@ -1,102 +0,0 @@
|
||||
-# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
|
||||
-# Copyright (C) 1995 Free Software Foundation, Inc.
|
||||
@@ -4650,9 +4672,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/po2tbl.sed.in lrzsz-0.12.20/intl/po2tbl.sed.
|
||||
- s/0*\(.*\)/int _msg_tbl_length = \1;/p
|
||||
-}
|
||||
-d
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/textdomain.c lrzsz-0.12.20/intl/textdomain.c
|
||||
--- clean/lrzsz-0.12.20/intl/textdomain.c 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/textdomain.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/textdomain.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/textdomain.c
|
||||
+++ /dev/null
|
||||
@@ -1,106 +0,0 @@
|
||||
-/* Implementation of the textdomain(3) function
|
||||
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
@@ -4760,14 +4783,16 @@ diff -uprN clean/lrzsz-0.12.20/intl/textdomain.c lrzsz-0.12.20/intl/textdomain.c
|
||||
-/* Alias for function name in GNU C Library. */
|
||||
-weak_alias (__textdomain, textdomain);
|
||||
-#endif
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/VERSION lrzsz-0.12.20/intl/VERSION
|
||||
--- clean/lrzsz-0.12.20/intl/VERSION 1998-04-26 14:22:37.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/VERSION 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/VERSION
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/VERSION
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-GNU gettext library from gettext-0.10.32
|
||||
diff -uprN clean/lrzsz-0.12.20/intl/xopen-msg.sed lrzsz-0.12.20/intl/xopen-msg.sed
|
||||
--- clean/lrzsz-0.12.20/intl/xopen-msg.sed 1998-04-26 14:20:52.000000000 +0100
|
||||
+++ lrzsz-0.12.20/intl/xopen-msg.sed 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/intl/xopen-msg.sed
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/intl/xopen-msg.sed
|
||||
+++ /dev/null
|
||||
@@ -1,104 +0,0 @@
|
||||
-# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
|
||||
-# Copyright (C) 1995 Free Software Foundation, Inc.
|
||||
@@ -4873,9 +4898,10 @@ diff -uprN clean/lrzsz-0.12.20/intl/xopen-msg.sed lrzsz-0.12.20/intl/xopen-msg.s
|
||||
- tb
|
||||
-}
|
||||
-d
|
||||
diff -uprN clean/lrzsz-0.12.20/lib/Makefile.am lrzsz-0.12.20/lib/Makefile.am
|
||||
--- clean/lrzsz-0.12.20/lib/Makefile.am 1998-12-27 16:25:26.000000000 +0000
|
||||
+++ lrzsz-0.12.20/lib/Makefile.am 2019-11-25 16:22:34.000000000 +0000
|
||||
Index: lrzsz-0.12.20/lib/Makefile.am
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/lib/Makefile.am
|
||||
+++ lrzsz-0.12.20/lib/Makefile.am
|
||||
@@ -1,6 +1,4 @@
|
||||
noinst_LIBRARIES=libzmodem.a
|
||||
-CFLAGS=@CFLAGS@
|
||||
@@ -4883,9 +4909,10 @@ diff -uprN clean/lrzsz-0.12.20/lib/Makefile.am lrzsz-0.12.20/lib/Makefile.am
|
||||
|
||||
EXTRA_DIST = alloca.c ansi2knr.1 ansi2knr.c \
|
||||
getopt.c getopt1.c mkdir.c mktime.c \
|
||||
diff -uprN clean/lrzsz-0.12.20/Makefile.am lrzsz-0.12.20/Makefile.am
|
||||
--- clean/lrzsz-0.12.20/Makefile.am 1998-12-30 11:19:40.000000000 +0000
|
||||
+++ lrzsz-0.12.20/Makefile.am 2019-11-26 11:47:29.000000000 +0000
|
||||
Index: lrzsz-0.12.20/Makefile.am
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/Makefile.am
|
||||
+++ lrzsz-0.12.20/Makefile.am
|
||||
@@ -1,5 +1,5 @@
|
||||
-SUBDIRS = lib intl src po man testsuite
|
||||
-EXTRA_DIST = check.lrzsz COMPATABILITY README.cvs README.isdn4linux \
|
||||
@@ -4908,9 +4935,10 @@ diff -uprN clean/lrzsz-0.12.20/Makefile.am lrzsz-0.12.20/Makefile.am
|
||||
|
||||
+
|
||||
+ACLOCAL_AMFLAGS = -I m4
|
||||
diff -uprN clean/lrzsz-0.12.20/po/cat-id-tbl.c lrzsz-0.12.20/po/cat-id-tbl.c
|
||||
--- clean/lrzsz-0.12.20/po/cat-id-tbl.c 1998-12-29 09:24:24.000000000 +0000
|
||||
+++ lrzsz-0.12.20/po/cat-id-tbl.c 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/po/cat-id-tbl.c
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/po/cat-id-tbl.c
|
||||
+++ /dev/null
|
||||
@@ -1,234 +0,0 @@
|
||||
-/* Automatically generated by po2tbl.sed from lrzsz.pot. */
|
||||
-
|
||||
@@ -5146,10 +5174,10 @@ diff -uprN clean/lrzsz-0.12.20/po/cat-id-tbl.c lrzsz-0.12.20/po/cat-id-tbl.c
|
||||
-};
|
||||
-
|
||||
-int _msg_tbl_length = 136;
|
||||
Binary files clean/lrzsz-0.12.20/po/de.gmo and lrzsz-0.12.20/po/de.gmo differ
|
||||
diff -uprN clean/lrzsz-0.12.20/po/de.po lrzsz-0.12.20/po/de.po
|
||||
--- clean/lrzsz-0.12.20/po/de.po 1998-12-30 16:31:46.000000000 +0000
|
||||
+++ lrzsz-0.12.20/po/de.po 2019-11-26 11:42:07.000000000 +0000
|
||||
Index: lrzsz-0.12.20/po/de.po
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/po/de.po
|
||||
+++ lrzsz-0.12.20/po/de.po
|
||||
@@ -6,10 +6,12 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -5384,9 +5412,10 @@ diff -uprN clean/lrzsz-0.12.20/po/de.po lrzsz-0.12.20/po/de.po
|
||||
#: src/lrz.c:2079
|
||||
msgid "rzfile: reached stop time"
|
||||
msgstr "rzfile: Abbruchzeit erreicht"
|
||||
diff -uprN clean/lrzsz-0.12.20/po/lrzsz.pot lrzsz-0.12.20/po/lrzsz.pot
|
||||
--- clean/lrzsz-0.12.20/po/lrzsz.pot 1998-12-30 07:50:00.000000000 +0000
|
||||
+++ lrzsz-0.12.20/po/lrzsz.pot 2019-11-26 11:39:12.000000000 +0000
|
||||
Index: lrzsz-0.12.20/po/lrzsz.pot
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/po/lrzsz.pot
|
||||
+++ lrzsz-0.12.20/po/lrzsz.pot
|
||||
@@ -1,24 +1,27 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
@@ -5618,9 +5647,10 @@ diff -uprN clean/lrzsz-0.12.20/po/lrzsz.pot lrzsz-0.12.20/po/lrzsz.pot
|
||||
#: src/lrz.c:2079
|
||||
msgid "rzfile: reached stop time"
|
||||
msgstr ""
|
||||
diff -uprN clean/lrzsz-0.12.20/po/Makevars lrzsz-0.12.20/po/Makevars
|
||||
--- clean/lrzsz-0.12.20/po/Makevars 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ lrzsz-0.12.20/po/Makevars 2019-11-25 18:09:52.000000000 +0000
|
||||
Index: lrzsz-0.12.20/po/Makevars
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ lrzsz-0.12.20/po/Makevars
|
||||
@@ -0,0 +1,78 @@
|
||||
+# Makefile variables for PO directory in any package using GNU gettext.
|
||||
+
|
||||
@@ -5700,19 +5730,22 @@ diff -uprN clean/lrzsz-0.12.20/po/Makevars lrzsz-0.12.20/po/Makevars
|
||||
+# "no". Set this to no if the POT file and PO files are maintained
|
||||
+# externally.
|
||||
+DIST_DEPENDS_ON_UPDATE_PO = yes
|
||||
diff -uprN clean/lrzsz-0.12.20/po/stamp-cat-id lrzsz-0.12.20/po/stamp-cat-id
|
||||
--- clean/lrzsz-0.12.20/po/stamp-cat-id 1998-12-30 07:50:01.000000000 +0000
|
||||
+++ lrzsz-0.12.20/po/stamp-cat-id 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/po/stamp-cat-id
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/po/stamp-cat-id
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-timestamp
|
||||
diff -uprN clean/lrzsz-0.12.20/po/stamp-po lrzsz-0.12.20/po/stamp-po
|
||||
--- clean/lrzsz-0.12.20/po/stamp-po 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ lrzsz-0.12.20/po/stamp-po 2019-11-26 11:42:09.000000000 +0000
|
||||
Index: lrzsz-0.12.20/po/stamp-po
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ lrzsz-0.12.20/po/stamp-po
|
||||
@@ -0,0 +1 @@
|
||||
+timestamp
|
||||
diff -uprN clean/lrzsz-0.12.20/src/Makefile.am lrzsz-0.12.20/src/Makefile.am
|
||||
--- clean/lrzsz-0.12.20/src/Makefile.am 1998-12-28 08:38:47.000000000 +0000
|
||||
+++ lrzsz-0.12.20/src/Makefile.am 2019-11-25 16:22:49.000000000 +0000
|
||||
Index: lrzsz-0.12.20/src/Makefile.am
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/src/Makefile.am
|
||||
+++ lrzsz-0.12.20/src/Makefile.am
|
||||
@@ -2,13 +2,11 @@ bin_PROGRAMS=lrz lsz
|
||||
lrz_SOURCES=lrz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c
|
||||
lsz_SOURCES=lsz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c
|
||||
@@ -5729,9 +5762,10 @@ diff -uprN clean/lrzsz-0.12.20/src/Makefile.am lrzsz-0.12.20/src/Makefile.am
|
||||
EXTRA_DIST = ansi2knr.1 ansi2knr.c lrzszbug.in
|
||||
INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl -I$(top_srcdir)/lib
|
||||
#DEFS = -DLOCALEDIR=\"$(localedir)\" -DOS=\"@host_os@\" -DCPU=\"@host_cpu@\"
|
||||
diff -uprN clean/lrzsz-0.12.20/src/zglobal.h lrzsz-0.12.20/src/zglobal.h
|
||||
--- clean/lrzsz-0.12.20/src/zglobal.h 1998-12-29 12:34:59.000000000 +0000
|
||||
+++ lrzsz-0.12.20/src/zglobal.h 2019-11-25 16:32:42.000000000 +0000
|
||||
Index: lrzsz-0.12.20/src/zglobal.h
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/src/zglobal.h
|
||||
+++ lrzsz-0.12.20/src/zglobal.h
|
||||
@@ -180,9 +180,6 @@ struct termios;
|
||||
#if HAVE_LOCALE_H
|
||||
# include <locale.h>
|
||||
@@ -5742,8 +5776,9 @@ diff -uprN clean/lrzsz-0.12.20/src/zglobal.h lrzsz-0.12.20/src/zglobal.h
|
||||
|
||||
#if ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
diff -uprN clean/lrzsz-0.12.20/stamp-h.in lrzsz-0.12.20/stamp-h.in
|
||||
--- clean/lrzsz-0.12.20/stamp-h.in 1998-12-30 07:51:07.000000000 +0000
|
||||
+++ lrzsz-0.12.20/stamp-h.in 1970-01-01 01:00:00.000000000 +0100
|
||||
Index: lrzsz-0.12.20/stamp-h.in
|
||||
===================================================================
|
||||
--- lrzsz-0.12.20.orig/stamp-h.in
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-timestamp
|
||||
|
||||
@@ -7,7 +7,7 @@ require opensbi-payloads.inc
|
||||
|
||||
inherit autotools-brokensep deploy
|
||||
|
||||
SRCREV = "a98258d0b537a295f517bbc8d813007336731fa9"
|
||||
SRCREV = "234ed8e427f4d92903123199f6590d144e0d9351"
|
||||
SRC_URI = "git://github.com/riscv/opensbi.git;branch=master \
|
||||
file://0001-Makefile-Don-t-specify-mabi-or-march.patch \
|
||||
"
|
||||
@@ -19,8 +19,9 @@ PACKAGECONFIG ??= "tipc elf devlink"
|
||||
PACKAGECONFIG[tipc] = ",,libmnl,"
|
||||
PACKAGECONFIG[elf] = ",,elfutils,"
|
||||
PACKAGECONFIG[devlink] = ",,libmnl,"
|
||||
PACKAGECONFIG[rdma] = ",,libmnl,"
|
||||
|
||||
IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc', d)}"
|
||||
IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
|
||||
|
||||
EXTRA_OEMAKE = "\
|
||||
CC='${CC}' \
|
||||
@@ -59,6 +60,7 @@ IPROUTE2_PACKAGES =+ "\
|
||||
${PN}-ss \
|
||||
${PN}-tc \
|
||||
${PN}-tipc \
|
||||
${PN}-rdma \
|
||||
"
|
||||
|
||||
PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
|
||||
@@ -77,6 +79,7 @@ FILES_${PN}-nstat = "${base_sbindir}/nstat"
|
||||
FILES_${PN}-ss = "${base_sbindir}/ss"
|
||||
FILES_${PN}-tipc = "${base_sbindir}/tipc"
|
||||
FILES_${PN}-devlink = "${base_sbindir}/devlink"
|
||||
FILES_${PN}-rdma = "${base_sbindir}/rdma"
|
||||
|
||||
ALTERNATIVE_${PN}-ip = "ip"
|
||||
ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 0f90440ca70abab947acbd77795e9f130967956c Mon Sep 17 00:00:00 2001
|
||||
From: Darren Tucker <dtucker@dtucker.net>
|
||||
Date: Fri, 20 Nov 2020 13:37:54 +1100
|
||||
Subject: [PATCH] Add new pselect6_time64 syscall on ARM.
|
||||
|
||||
This is apparently needed on armhfp/armv7hl. bz#3232, patch from
|
||||
jjelen at redhat.com.
|
||||
---
|
||||
sandbox-seccomp-filter.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
Upstream-Status: Backport
|
||||
[fixes issues on 32bit IA and probably other 32 bit platforms too with glibc 2.33]
|
||||
|
||||
diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c
|
||||
index e0768c063..5065ae7ef 100644
|
||||
--- a/sandbox-seccomp-filter.c
|
||||
+++ b/sandbox-seccomp-filter.c
|
||||
@@ -267,6 +267,9 @@ static const struct sock_filter preauth_insns[] = {
|
||||
#ifdef __NR_pselect6
|
||||
SC_ALLOW(__NR_pselect6),
|
||||
#endif
|
||||
+#ifdef __NR_pselect6_time64
|
||||
+ SC_ALLOW(__NR_pselect6_time64),
|
||||
+#endif
|
||||
#ifdef __NR_read
|
||||
SC_ALLOW(__NR_read),
|
||||
#endif
|
||||
@@ -24,6 +24,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
|
||||
file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
|
||||
file://sshd_check_keys \
|
||||
file://add-test-support-for-busybox.patch \
|
||||
file://0f90440ca70abab947acbd77795e9f130967956c.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24"
|
||||
|
||||
|
||||
@@ -64,7 +64,8 @@ CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/bu
|
||||
# rc4 (freerdp librtorrent ettercap xrdp transmission pam-ssh-agent-auth php)
|
||||
# rc2 (mailx)
|
||||
# psk (qt5)
|
||||
DEPRECATED_CRYPTO_FLAGS = "no-ssl no-idea no-rc5 no-md2 no-srp no-camellia no-mdc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4 no-whirlpool"
|
||||
# srp (libest)
|
||||
DEPRECATED_CRYPTO_FLAGS = "no-ssl no-idea no-rc5 no-md2 no-camellia no-mdc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4 no-whirlpool"
|
||||
|
||||
do_configure () {
|
||||
os=${HOST_OS}
|
||||
@@ -230,6 +231,8 @@ BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
CVE_PRODUCT = "openssl:openssl"
|
||||
|
||||
CVE_VERSION_SUFFIX = "alphabetical"
|
||||
|
||||
# Only affects OpenSSL >= 1.1.1 in combination with Apache < 2.4.37
|
||||
# Apache in meta-webserver is already recent enough
|
||||
CVE_CHECK_WHITELIST += "CVE-2019-0190"
|
||||
|
||||
@@ -7,13 +7,13 @@ SECTION = "console/network"
|
||||
|
||||
LICENSE = "GPL-2.0-with-OpenSSL-exception"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f"
|
||||
file://README;beginline=257;endline=287;md5=82520b052f322ac2b5b3dfdc7c7eea86"
|
||||
|
||||
SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "3cca4f8cd9d2d1caabd9cc099451bac9"
|
||||
SRC_URI[sha256sum] = "972374ca86f65498e23e3259c2ee1b8f9dbeb04d12c2a78c0c9b5d1cb97dfdfc"
|
||||
SRC_URI[md5sum] = "36cad050ecf4981ab044c3fbd75c643f"
|
||||
SRC_URI[sha256sum] = "3faca25614e89123dff5045680549ecef519d02e331aaf3c4f5a8f6837c675e9"
|
||||
|
||||
inherit autotools
|
||||
|
||||
@@ -6,8 +6,6 @@ SECTION = "base"
|
||||
require dbus.inc
|
||||
|
||||
DEPENDS = "expat virtual/libintl autoconf-archive"
|
||||
RDEPENDS_dbus_class-native = ""
|
||||
RDEPENDS_dbus_class-nativesdk = ""
|
||||
PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
|
||||
ALLOW_EMPTY_dbus-ptest = "1"
|
||||
RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 6178df5658045a6253ef806e018fe80d99a8f5fb Mon Sep 17 00:00:00 2001
|
||||
From: Yi Fan Yu <yifan.yu@windriver.com>
|
||||
Date: Mon, 1 Feb 2021 16:10:28 -0500
|
||||
Subject: [PATCH] tests/codegen.py: removing unecessary print statement
|
||||
|
||||
A huge amount of output(boiler-plate code) is
|
||||
printed to the console screen.
|
||||
This is not critical to the test results.
|
||||
|
||||
This causes intermittent test failure when another process
|
||||
has to parse its output.
|
||||
|
||||
Root cause is in ptest-runner, This is a workaround
|
||||
|
||||
Uptream-Status: Inappropriate [other]
|
||||
|
||||
|
||||
|
||||
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
|
||||
---
|
||||
gio/tests/codegen.py | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/gio/tests/codegen.py b/gio/tests/codegen.py
|
||||
index 51de0ede4..cfa4db42e 100644
|
||||
--- a/gio/tests/codegen.py
|
||||
+++ b/gio/tests/codegen.py
|
||||
@@ -250,7 +250,6 @@ class TestCodegen(unittest.TestCase):
|
||||
|
||||
result = Result(info, out, err, subs)
|
||||
|
||||
- print('Output:', result.out)
|
||||
return result
|
||||
|
||||
def runCodegenWithInterface(self, interface_contents, *args):
|
||||
--
|
||||
2.29.2
|
||||
|
||||
@@ -17,6 +17,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
|
||||
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
|
||||
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
|
||||
file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
|
||||
file://0001-tests-codegen.py-removing-unecessary-print-statement.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_class-native = " file://relocate-modules.patch"
|
||||
|
||||
@@ -14,8 +14,8 @@ require glibc-version.inc
|
||||
#
|
||||
AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
|
||||
|
||||
inherit native
|
||||
inherit autotools
|
||||
inherit native
|
||||
|
||||
FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
|
||||
|
||||
@@ -22,4 +22,4 @@ ARM_INSTRUCTION_SET_armv6 = "arm"
|
||||
#
|
||||
COMPATIBLE_HOST_libc-musl_class-target = "null"
|
||||
|
||||
PV = "2.32"
|
||||
PV = "2.33"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
SRCBRANCH ?= "release/2.32/master"
|
||||
PV = "2.32"
|
||||
SRCREV_glibc ?= "3de512be7ea6053255afed6154db9ee31d4e557a"
|
||||
SRCBRANCH ?= "release/2.33/master"
|
||||
PV = "2.33"
|
||||
SRCREV_glibc ?= "9826b03b747b841f5fc6de2054bf1ef3f5c4bdf3"
|
||||
SRCREV_localedef ?= "bd644c9e6f3e20c5504da1488448173c69c56c28"
|
||||
|
||||
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5db90855621a81d02f1434d5602cefea8c45de1c Mon Sep 17 00:00:00 2001
|
||||
From d1f1671034a222417f9a829dcaa4f0c3d4f8954d Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wessel <jason.wessel@windriver.com>
|
||||
Date: Sat, 7 Dec 2019 09:59:22 -0800
|
||||
Subject: [PATCH 01/29] localedef: Add hardlink resolver from util-linux
|
||||
Subject: [PATCH] localedef: Add hardlink resolver from util-linux
|
||||
|
||||
The hard link resolver that is built into localedef cannot be run in
|
||||
parallel. It will search sibling directories (which are be processed
|
||||
@@ -1128,6 +1128,3 @@ index 0000000000..0129a85e2e
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ab022ce3c1c01fd6c850f541a33efd0cacabe052 Mon Sep 17 00:00:00 2001
|
||||
From 14d256e2db009f8bac9a265e8393d7ed25050df9 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wessel <jason.wessel@windriver.com>
|
||||
Date: Sat, 7 Dec 2019 10:01:37 -0800
|
||||
Subject: [PATCH 02/29] localedef: fix-ups hardlink to make it compile
|
||||
Subject: [PATCH] localedef: fix-ups hardlink to make it compile
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
||||
@@ -236,6 +236,3 @@ index 63615896b0..726e6dd948 100644
|
||||
}
|
||||
continue;
|
||||
}
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From de4322ef6d4dc9fc3ee9b69af1c10edbc64a66a3 Mon Sep 17 00:00:00 2001
|
||||
From 32a4b8ae046fe4bb1b19f61378d079d44deaede7 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 01:48:24 +0000
|
||||
Subject: [PATCH 03/29] nativesdk-glibc: Look for host system ld.so.cache as
|
||||
well
|
||||
Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
@@ -31,10 +30,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/elf/dl-load.c b/elf/dl-load.c
|
||||
index e39980fb19..565b039b23 100644
|
||||
index 9e2089cfaa..ad01674027 100644
|
||||
--- a/elf/dl-load.c
|
||||
+++ b/elf/dl-load.c
|
||||
@@ -2160,6 +2160,14 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
@@ -2175,6 +2175,14 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,14 +41,14 @@ index e39980fb19..565b039b23 100644
|
||||
+ if (fd == -1
|
||||
+ && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
|
||||
+ || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
|
||||
+ && rtld_search_dirs.dirs != (void *) -1)
|
||||
+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
|
||||
+ && __rtld_search_dirs.dirs != (void *) -1)
|
||||
+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &__rtld_search_dirs,
|
||||
+ &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
|
||||
+ /* Finally try ld.so.cache */
|
||||
#ifdef USE_LDCONFIG
|
||||
if (fd == -1
|
||||
&& (__glibc_likely ((mode & __RTLD_SECURE) == 0)
|
||||
@@ -2218,14 +2226,6 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
@@ -2233,14 +2241,6 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -57,13 +56,10 @@ index e39980fb19..565b039b23 100644
|
||||
- if (fd == -1
|
||||
- && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
|
||||
- || __glibc_likely (!(l->l_flags_1 & DF_1_NODEFLIB)))
|
||||
- && rtld_search_dirs.dirs != (void *) -1)
|
||||
- fd = open_path (name, namelen, mode, &rtld_search_dirs,
|
||||
- && __rtld_search_dirs.dirs != (void *) -1)
|
||||
- fd = open_path (name, namelen, mode, &__rtld_search_dirs,
|
||||
- &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
|
||||
-
|
||||
/* Add another newline when we are tracing the library loading. */
|
||||
if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
|
||||
_dl_debug_printf ("\n");
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From 258c44e4ecffd830cb89d0016d45b2bac765f559 Mon Sep 17 00:00:00 2001
|
||||
From aa8393bff257e4badfd208b88473ead175c69362 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 01:50:00 +0000
|
||||
Subject: [PATCH 04/29] nativesdk-glibc: Fix buffer overrun with a relocated
|
||||
SDK
|
||||
Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
|
||||
|
||||
When ld-linux-*.so.2 is relocated to a path that is longer than the
|
||||
original fixed location, the dynamic loader will crash in open_path
|
||||
@@ -22,10 +21,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/elf/dl-load.c b/elf/dl-load.c
|
||||
index 565b039b23..e1b3486549 100644
|
||||
index ad01674027..f455207e79 100644
|
||||
--- a/elf/dl-load.c
|
||||
+++ b/elf/dl-load.c
|
||||
@@ -1860,7 +1860,19 @@ open_path (const char *name, size_t namelen, int mode,
|
||||
@@ -1871,7 +1871,19 @@ open_path (const char *name, size_t namelen, int mode,
|
||||
given on the command line when rtld is run directly. */
|
||||
return -1;
|
||||
|
||||
@@ -45,6 +44,3 @@ index 565b039b23..e1b3486549 100644
|
||||
do
|
||||
{
|
||||
struct r_search_path_elem *this_dir = *dirs;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From 19cd858f5f04a6ac584fbd89a2fbc51791263b85 Mon Sep 17 00:00:00 2001
|
||||
From 3ea08e491a8494ff03e598b5e0fc2d8131e75da9 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 01:51:38 +0000
|
||||
Subject: [PATCH 05/29] nativesdk-glibc: Raise the size of arrays containing dl
|
||||
paths
|
||||
Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
|
||||
|
||||
This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
|
||||
and lengths as well as ld.so.cache path in the dynamic loader to specific
|
||||
@@ -18,20 +17,21 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
elf/dl-cache.c | 4 ++++
|
||||
elf/dl-load.c | 4 ++--
|
||||
elf/dl-usage.c | 6 ++++--
|
||||
elf/interp.c | 2 +-
|
||||
elf/ldconfig.c | 3 +++
|
||||
elf/rtld.c | 5 +++--
|
||||
elf/rtld.c | 1 +
|
||||
iconv/gconv_conf.c | 2 +-
|
||||
sysdeps/generic/dl-cache.h | 4 ----
|
||||
7 files changed, 14 insertions(+), 10 deletions(-)
|
||||
8 files changed, 16 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
|
||||
index 93d185e788..e115b18756 100644
|
||||
index 32f3bef5ea..71f3a82dc0 100644
|
||||
--- a/elf/dl-cache.c
|
||||
+++ b/elf/dl-cache.c
|
||||
@@ -133,6 +133,10 @@ do \
|
||||
while (0)
|
||||
|
||||
@@ -359,6 +359,10 @@ search_cache (const char *string_table, uint32_t string_table_size,
|
||||
return best;
|
||||
}
|
||||
|
||||
+const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache"))) =
|
||||
+ SYSCONFDIR "/ld.so.cache";
|
||||
@@ -41,10 +41,10 @@ index 93d185e788..e115b18756 100644
|
||||
_dl_cache_libcmp (const char *p1, const char *p2)
|
||||
{
|
||||
diff --git a/elf/dl-load.c b/elf/dl-load.c
|
||||
index e1b3486549..5226d0c4fa 100644
|
||||
index f455207e79..a144e24fcf 100644
|
||||
--- a/elf/dl-load.c
|
||||
+++ b/elf/dl-load.c
|
||||
@@ -111,8 +111,8 @@ static size_t max_capstrlen attribute_relro;
|
||||
@@ -115,8 +115,8 @@ enum { ncapstr = 1, max_capstrlen = 0 };
|
||||
gen-trusted-dirs.awk. */
|
||||
#include "trusted-dirs.h"
|
||||
|
||||
@@ -55,8 +55,39 @@ index e1b3486549..5226d0c4fa 100644
|
||||
{
|
||||
SYSTEM_DIRS_LEN
|
||||
};
|
||||
diff --git a/elf/dl-usage.c b/elf/dl-usage.c
|
||||
index 6e26818bd7..f09e8b93e5 100644
|
||||
--- a/elf/dl-usage.c
|
||||
+++ b/elf/dl-usage.c
|
||||
@@ -25,6 +25,8 @@
|
||||
#include <dl-procinfo.h>
|
||||
#include <dl-hwcaps.h>
|
||||
|
||||
+extern const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache")));
|
||||
+
|
||||
void
|
||||
_dl_usage (const char *argv0, const char *wrong_option)
|
||||
{
|
||||
@@ -244,7 +246,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
|
||||
--list list all dependencies and how they are resolved\n\
|
||||
--verify verify that given object really is a dynamically linked\n\
|
||||
object we can handle\n\
|
||||
- --inhibit-cache Do not use " LD_SO_CACHE "\n\
|
||||
+ --inhibit-cache Do not use %s\n\
|
||||
--library-path PATH use given PATH instead of content of the environment\n\
|
||||
variable LD_LIBRARY_PATH\n\
|
||||
--glibc-hwcaps-prepend LIST\n\
|
||||
@@ -266,7 +268,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
|
||||
\n\
|
||||
This program interpreter self-identifies as: " RTLD "\n\
|
||||
",
|
||||
- argv0);
|
||||
+ argv0, LD_SO_CACHE);
|
||||
print_search_path_for_help (state);
|
||||
print_hwcaps_subdirectories (state);
|
||||
print_legacy_hwcap_directories ();
|
||||
diff --git a/elf/interp.c b/elf/interp.c
|
||||
index 331cc1df48..885b2d9476 100644
|
||||
index 91966702ca..dc86c20e83 100644
|
||||
--- a/elf/interp.c
|
||||
+++ b/elf/interp.c
|
||||
@@ -18,5 +18,5 @@
|
||||
@@ -67,10 +98,10 @@ index 331cc1df48..885b2d9476 100644
|
||||
+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
|
||||
= RUNTIME_LINKER;
|
||||
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
|
||||
index 0c090dca15..6bb6e0fe72 100644
|
||||
index 28ed637a29..5d38a60c5d 100644
|
||||
--- a/elf/ldconfig.c
|
||||
+++ b/elf/ldconfig.c
|
||||
@@ -171,6 +171,9 @@ static struct argp argp =
|
||||
@@ -176,6 +176,9 @@ static struct argp argp =
|
||||
options, parse_opt, NULL, doc, NULL, more_help, NULL
|
||||
};
|
||||
|
||||
@@ -81,10 +112,10 @@ index 0c090dca15..6bb6e0fe72 100644
|
||||
a platform. */
|
||||
static int
|
||||
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||
index 5b882163fa..db407b5d8b 100644
|
||||
index 596b6ac3d9..1ccd33f668 100644
|
||||
--- a/elf/rtld.c
|
||||
+++ b/elf/rtld.c
|
||||
@@ -217,6 +217,7 @@ dso_name_valid_for_suid (const char *p)
|
||||
@@ -185,6 +185,7 @@ dso_name_valid_for_suid (const char *p)
|
||||
}
|
||||
return *p != '\0';
|
||||
}
|
||||
@@ -92,24 +123,8 @@ index 5b882163fa..db407b5d8b 100644
|
||||
|
||||
static void
|
||||
audit_list_init (struct audit_list *list)
|
||||
@@ -1286,13 +1287,13 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||
--list list all dependencies and how they are resolved\n\
|
||||
--verify verify that given object really is a dynamically linked\n\
|
||||
object we can handle\n\
|
||||
- --inhibit-cache Do not use " LD_SO_CACHE "\n\
|
||||
+ --inhibit-cache Do not use %s\n\
|
||||
--library-path PATH use given PATH instead of content of the environment\n\
|
||||
variable LD_LIBRARY_PATH\n\
|
||||
--inhibit-rpath LIST ignore RUNPATH and RPATH information in object names\n\
|
||||
in LIST\n\
|
||||
--audit LIST use objects named in LIST as auditors\n\
|
||||
- --preload LIST preload objects named in LIST\n");
|
||||
+ --preload LIST preload objects named in LIST\n", LD_SO_CACHE);
|
||||
|
||||
++_dl_skip_args;
|
||||
--_dl_argc;
|
||||
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
|
||||
index 735bd1f2d5..25100ba666 100644
|
||||
index 682f949834..7eed87bc9d 100644
|
||||
--- a/iconv/gconv_conf.c
|
||||
+++ b/iconv/gconv_conf.c
|
||||
@@ -36,7 +36,7 @@
|
||||
@@ -122,10 +137,10 @@ index 735bd1f2d5..25100ba666 100644
|
||||
/* Type to represent search path. */
|
||||
struct path_elem
|
||||
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
|
||||
index 6b310e9e15..3877311df4 100644
|
||||
index 964d50a486..94bf68ca9d 100644
|
||||
--- a/sysdeps/generic/dl-cache.h
|
||||
+++ b/sysdeps/generic/dl-cache.h
|
||||
@@ -27,10 +27,6 @@
|
||||
@@ -34,10 +34,6 @@
|
||||
((flags) == 1 || (flags) == _DL_CACHE_DEFAULT_ID)
|
||||
#endif
|
||||
|
||||
@@ -136,6 +151,3 @@ index 6b310e9e15..3877311df4 100644
|
||||
#ifndef add_system_dir
|
||||
# define add_system_dir(dir) add_dir (dir)
|
||||
#endif
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From bd0486cab67c3441210aed48caab67418610a765 Mon Sep 17 00:00:00 2001
|
||||
From 19e3e45eb1838ee80af13c3d27fcff446773211e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 31 Dec 2015 14:35:35 -0800
|
||||
Subject: [PATCH 06/29] nativesdk-glibc: Allow 64 bit atomics for x86
|
||||
Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
|
||||
|
||||
The fix consist of allowing 64bit atomic ops for x86.
|
||||
This should be safe for i586 and newer CPUs.
|
||||
@@ -17,11 +17,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
|
||||
index bb49648374..aa08d3c0a7 100644
|
||||
index 695222e4fa..9d39bfdbd5 100644
|
||||
--- a/sysdeps/x86/atomic-machine.h
|
||||
+++ b/sysdeps/x86/atomic-machine.h
|
||||
@@ -58,15 +58,14 @@ typedef uintmax_t uatomic_max_t;
|
||||
#endif
|
||||
@@ -52,15 +52,14 @@ typedef uintmax_t uatomic_max_t;
|
||||
#define LOCK_PREFIX "lock;"
|
||||
|
||||
#define USE_ATOMIC_COMPILER_BUILTINS 1
|
||||
+# define __HAVE_64B_ATOMICS 1
|
||||
@@ -37,6 +37,3 @@ index bb49648374..aa08d3c0a7 100644
|
||||
# define SP_REG "esp"
|
||||
# define SEG_REG "gs"
|
||||
# define BR_CONSTRAINT "r"
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9a8bf11ea375a2fe5eddb30bc10943e64d3b96a4 Mon Sep 17 00:00:00 2001
|
||||
From 732d4f4954fe60718870048d0583a20a7a8a8540 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 3 Aug 2018 09:55:12 -0700
|
||||
Subject: [PATCH 07/29] nativesdk-glibc: Make relocatable install for locales
|
||||
Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
|
||||
|
||||
The glibc locale path is hard-coded to the install prefix, but in SDKs we need
|
||||
to be able to relocate the binaries. Expand the strings to 4K and put them in a
|
||||
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
4 files changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/locale/findlocale.c b/locale/findlocale.c
|
||||
index 9cd3b71a6d..84272310e0 100644
|
||||
index ab09122b0c..f42cc75780 100644
|
||||
--- a/locale/findlocale.c
|
||||
+++ b/locale/findlocale.c
|
||||
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
|
||||
@@ -41,7 +41,7 @@ index 9cd3b71a6d..84272310e0 100644
|
||||
else
|
||||
/* We really have to load some data. First see whether the name is
|
||||
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
|
||||
index ba0fe45648..9737fd4cda 100644
|
||||
index 4177fc8972..40247b1e68 100644
|
||||
--- a/locale/loadarchive.c
|
||||
+++ b/locale/loadarchive.c
|
||||
@@ -42,7 +42,7 @@
|
||||
@@ -54,7 +54,7 @@ index ba0fe45648..9737fd4cda 100644
|
||||
/* Size of initial mapping window, optimal if large enough to
|
||||
cover the header plus the initial locale. */
|
||||
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
|
||||
index 1bfe22aa7f..fdc283c69a 100644
|
||||
index b3d4da0185..22f9dc1140 100644
|
||||
--- a/locale/localeinfo.h
|
||||
+++ b/locale/localeinfo.h
|
||||
@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int category, int item)
|
||||
@@ -67,7 +67,7 @@ index 1bfe22aa7f..fdc283c69a 100644
|
||||
/* Load the locale data for CATEGORY from the file specified by *NAME.
|
||||
If *NAME is "", use environment variables as specified by POSIX, and
|
||||
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
|
||||
index e2e309c2a1..61a92cdcd1 100644
|
||||
index 575b208e82..5ec630c3a4 100644
|
||||
--- a/locale/programs/locale.c
|
||||
+++ b/locale/programs/locale.c
|
||||
@@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b)
|
||||
@@ -98,6 +98,3 @@ index e2e309c2a1..61a92cdcd1 100644
|
||||
|
||||
locrec = (struct locrecent *) (addr + names[cnt].locrec_offset);
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 59b0a78ae706a540dbd8905bc97c875220d6aeb2 Mon Sep 17 00:00:00 2001
|
||||
From 3d58330390a7d4f4ed32f4a9c25628af3e0dd5c1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:01:50 +0000
|
||||
Subject: [PATCH 08/29] fsl e500/e5500/e6500/603e fsqrt implementation
|
||||
Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
|
||||
@@ -1579,6 +1579,3 @@ index 0000000000..04ff8cc181
|
||||
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
|
||||
@@ -0,0 +1 @@
|
||||
+powerpc/powerpc64/e6500/fpu
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 78f67f016ca9e3f7a37af86cf6e400cf17cf1d05 Mon Sep 17 00:00:00 2001
|
||||
From 3b5fe5b1a7390cde0f07351415e3891f62d1f7e0 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:15:07 +0000
|
||||
Subject: [PATCH 09/29] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
|
||||
Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
|
||||
|
||||
on ppc fixes the errors like below
|
||||
| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
|
||||
@@ -203,6 +203,3 @@ index 26fa067abf..9d175122a8 100644
|
||||
return f_washf (b);
|
||||
}
|
||||
+strong_alias (__ieee754_sqrtf, __sqrtf_finite)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From 670b5d70ab62b42ab02a8e18b8fcee2879b8c4a0 Mon Sep 17 00:00:00 2001
|
||||
From 6b6e1dcd707017598ea3bdc2d91a761943b62218 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:16:38 +0000
|
||||
Subject: [PATCH 10/29] __ieee754_sqrt{,f} are now inline functions and call
|
||||
out __slow versions
|
||||
Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
|
||||
__slow versions
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
@@ -382,6 +382,3 @@ index 9d175122a8..10de1f0cc3 100644
|
||||
+}
|
||||
+
|
||||
strong_alias (__ieee754_sqrtf, __sqrtf_finite)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From de7a7c04a92dbc5d35cb37e47c471e12784cc95e Mon Sep 17 00:00:00 2001
|
||||
From 297bac9429260f8df495b81d3fae8ae4c6913f5f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:20:09 +0000
|
||||
Subject: [PATCH 11/29] Quote from bug 1443 which explains what the patch does
|
||||
:
|
||||
Subject: [PATCH] Quote from bug 1443 which explains what the patch does :
|
||||
|
||||
We build some random program and link it with -lust. When we run it,
|
||||
it dies with a SIGSEGV before reaching main().
|
||||
@@ -45,7 +44,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
|
||||
index 90856779b1..a29bb86c56 100644
|
||||
index ff5e09e207..d68bfe5cbe 100644
|
||||
--- a/sysdeps/arm/dl-machine.h
|
||||
+++ b/sysdeps/arm/dl-machine.h
|
||||
@@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
||||
@@ -57,6 +56,3 @@ index 90856779b1..a29bb86c56 100644
|
||||
break;
|
||||
|
||||
case R_ARM_TLS_TPOFF32:
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c8807899367e64d803585e7dd4b56a1085d5893b Mon Sep 17 00:00:00 2001
|
||||
From f389babf3c920e68b7d7391556a78ebf62a21ebe Mon Sep 17 00:00:00 2001
|
||||
From: Ting Liu <b28495@freescale.com>
|
||||
Date: Wed, 19 Dec 2012 04:39:57 -0600
|
||||
Subject: [PATCH 12/29] eglibc: run libm-err-tab.pl with specific dirs in ${S}
|
||||
Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
|
||||
|
||||
libm-err-tab.pl will parse all the files named "libm-test-ulps"
|
||||
in the given dir recursively. To avoid parsing the one in
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Ting Liu <b28495@freescale.com>
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/manual/Makefile b/manual/Makefile
|
||||
index c61e11dcd7..5d859e6f84 100644
|
||||
index e83444341e..aa2645bc55 100644
|
||||
--- a/manual/Makefile
|
||||
+++ b/manual/Makefile
|
||||
@@ -103,7 +103,8 @@ $(objpfx)stamp-libm-err: $(..)math/gen-libm-test.py \
|
||||
@@ -31,6 +31,3 @@ index c61e11dcd7..5d859e6f84 100644
|
||||
$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
|
||||
touch $@
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From 86fea3409b89f9d8884053a519282f2f30d7ea87 Mon Sep 17 00:00:00 2001
|
||||
From 4b0d41a315e66f688fef7b0c2e2b6ce9fa16ec93 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:24:46 +0000
|
||||
Subject: [PATCH 13/29] __ieee754_sqrt{,f} are now inline functions and call
|
||||
out __slow versions
|
||||
Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
|
||||
__slow versions
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
@@ -56,6 +56,3 @@ index 812653558f..10de1f0cc3 100644
|
||||
float b;
|
||||
#endif
|
||||
{
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From a3c4f67fb3cb02855073a9cdbcf2881fb53144f0 Mon Sep 17 00:00:00 2001
|
||||
From c062a462fee53a30a85d693c8288b5bd8fe4ec6e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:27:10 +0000
|
||||
Subject: [PATCH 14/29] sysdeps/gnu/configure.ac: handle correctly
|
||||
Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly
|
||||
$libc_cv_rootsbindir
|
||||
|
||||
Upstream-Status:Pending
|
||||
@@ -37,6 +37,3 @@ index 634fe4de2a..3db1697f4f 100644
|
||||
+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
|
||||
;;
|
||||
esac
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 17a602b89cbe53a5a92d0153ccb013a737f028cb Mon Sep 17 00:00:00 2001
|
||||
From 0bd39d8907953f18e01742f42b24647ac7689d0a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:31:06 +0000
|
||||
Subject: [PATCH 15/29] 'yes' within the path sets wrong config variables
|
||||
Subject: [PATCH] 'yes' within the path sets wrong config variables
|
||||
|
||||
It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
|
||||
but being such a short word to grep it is likely to produce
|
||||
@@ -29,10 +29,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
12 files changed, 28 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
|
||||
index ac3cf6fd36..32add94df9 100644
|
||||
index 83c3a23e44..a68c946277 100644
|
||||
--- a/sysdeps/aarch64/configure
|
||||
+++ b/sysdeps/aarch64/configure
|
||||
@@ -148,12 +148,12 @@ else
|
||||
@@ -157,12 +157,12 @@ else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#ifdef __AARCH64EB__
|
||||
@@ -48,10 +48,10 @@ index ac3cf6fd36..32add94df9 100644
|
||||
else
|
||||
libc_cv_aarch64_be=no
|
||||
diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
|
||||
index 8b042d6d05..3cdd262951 100644
|
||||
index 66f755078a..a32b265bbe 100644
|
||||
--- a/sysdeps/aarch64/configure.ac
|
||||
+++ b/sysdeps/aarch64/configure.ac
|
||||
@@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
@@ -17,8 +17,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE)
|
||||
# the dynamic linker via %ifdef.
|
||||
AC_CACHE_CHECK([for big endian],
|
||||
[libc_cv_aarch64_be],
|
||||
@@ -165,7 +165,7 @@ index f05f43802b..dc8639902d 100644
|
||||
], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)])
|
||||
if test $libc_cv_nios2_be = yes; then
|
||||
diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
|
||||
index 25f98e0c7b..e95bfae359 100644
|
||||
index f25f2a3a65..1b7483e6c6 100644
|
||||
--- a/sysdeps/unix/sysv/linux/mips/configure
|
||||
+++ b/sysdeps/unix/sysv/linux/mips/configure
|
||||
@@ -414,11 +414,11 @@ else
|
||||
@@ -183,7 +183,7 @@ index 25f98e0c7b..e95bfae359 100644
|
||||
else
|
||||
libc_cv_mips_nan2008=no
|
||||
diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac
|
||||
index 3db1b32b08..f8cd375ebc 100644
|
||||
index 049a0f4bdf..005526d4e8 100644
|
||||
--- a/sysdeps/unix/sysv/linux/mips/configure.ac
|
||||
+++ b/sysdeps/unix/sysv/linux/mips/configure.ac
|
||||
@@ -105,9 +105,9 @@ AC_COMPILE_IFELSE(
|
||||
@@ -258,6 +258,3 @@ index f9cba6e15d..b21f72f1e4 100644
|
||||
#endif
|
||||
], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
|
||||
if test $libc_cv_ppc64_def_call_elf = no; then
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 4762386b599f5c3287310a69ad3555e0129e0c51 Mon Sep 17 00:00:00 2001
|
||||
From 3feb4213628f1485000ffe1d3fd26e37a7b14336 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:33:03 +0000
|
||||
Subject: [PATCH 16/29] timezone: re-written tzselect as posix sh
|
||||
Subject: [PATCH] timezone: re-written tzselect as posix sh
|
||||
|
||||
To avoid the bash dependency.
|
||||
|
||||
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/timezone/Makefile b/timezone/Makefile
|
||||
index 75f38df527..74e1ab7ff7 100644
|
||||
index 395abfeebd..2d939edf75 100644
|
||||
--- a/timezone/Makefile
|
||||
+++ b/timezone/Makefile
|
||||
@@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT%
|
||||
@@ -123,7 +123,7 @@ $(testdata)/XT%: testdata/XT%
|
||||
cp $< $@
|
||||
|
||||
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
|
||||
@@ -40,6 +40,3 @@ index 18fce27e24..70745f9d36 100755
|
||||
|
||||
# Output one argument as-is to standard output.
|
||||
# Safer than 'echo', which can mishandle '\' or leading '-'.
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From dac46c07736a799fc82be03aa546b2d24c19ad78 Mon Sep 17 00:00:00 2001
|
||||
From f6119b98a9caa80642d69a97edc98f57ecef5c3c Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 31 Dec 2015 14:33:02 -0800
|
||||
Subject: [PATCH 17/29] Remove bash dependency for nscd init script
|
||||
Subject: [PATCH] Remove bash dependency for nscd init script
|
||||
|
||||
The nscd init script uses #! /bin/bash but only really uses one bashism
|
||||
(translated strings), so remove them and switch the shell to #!/bin/sh.
|
||||
@@ -70,6 +70,3 @@ index a882da7d8b..b02986ec15 100644
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 0bd1dedf77194151397c53b12e0355c2edb8bccc Mon Sep 17 00:00:00 2001
|
||||
From 060ba13b5ac5e90517d540f009ebdcdcf62f9685 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:42:58 +0000
|
||||
Subject: [PATCH 18/29] eglibc: Cross building and testing instructions
|
||||
Subject: [PATCH] eglibc: Cross building and testing instructions
|
||||
|
||||
Ported from eglibc
|
||||
Upstream-Status: Pending
|
||||
@@ -614,6 +614,3 @@ index 0000000000..b67b468466
|
||||
+- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we
|
||||
+ simply place copies of these libraries in the top GLIBC build
|
||||
+ directory.
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5591b7653411da26fa2939352e50ea4121b327e6 Mon Sep 17 00:00:00 2001
|
||||
From f13c2f525e9bc82ce13e4cf486f7fe0831fc3fac Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:49:28 +0000
|
||||
Subject: [PATCH 19/29] eglibc: Help bootstrap cross toolchain
|
||||
Subject: [PATCH] eglibc: Help bootstrap cross toolchain
|
||||
|
||||
Taken from EGLIBC, r1484 + r1525
|
||||
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
create mode 100644 include/stubs-bootstrap.h
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 6dcfe40c25..bc37c32e5a 100644
|
||||
index 50f99ca611..31eed15f02 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -79,9 +79,18 @@ subdir-dirs = include
|
||||
@@ -52,7 +52,7 @@ index 6dcfe40c25..bc37c32e5a 100644
|
||||
ifeq (yes,$(build-shared))
|
||||
headers += gnu/lib-names.h
|
||||
endif
|
||||
@@ -407,6 +416,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh
|
||||
@@ -416,6 +425,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh
|
||||
|
||||
subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs)
|
||||
|
||||
@@ -69,7 +69,7 @@ index 6dcfe40c25..bc37c32e5a 100644
|
||||
ifndef abi-variants
|
||||
installed-stubs = $(inst_includedir)/gnu/stubs.h
|
||||
else
|
||||
@@ -433,6 +452,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force)
|
||||
@@ -442,6 +461,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force)
|
||||
|
||||
install-others-nosubdir: $(installed-stubs)
|
||||
endif
|
||||
@@ -95,6 +95,3 @@ index 0000000000..1d2b669aff
|
||||
+ difficult headers. The <gnu/stubs.h> header depends, via the
|
||||
+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
|
||||
+ an empty stubs.h like this will do fine for GCC. */
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d3451c186f96c6b2434a4ac9304c01730bf22061 Mon Sep 17 00:00:00 2001
|
||||
From 330c4e50e28e29c31fb8d6ab39cdbb2af4d3def7 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:55:53 +0000
|
||||
Subject: [PATCH 20/29] eglibc: Resolve __fpscr_values on SH4
|
||||
Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
|
||||
|
||||
2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
|
||||
Andrew Stubbs <ams@codesourcery.com>
|
||||
@@ -33,7 +33,7 @@ index e0938c4165..ca1d7da339 100644
|
||||
# a*
|
||||
alphasort64;
|
||||
diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
|
||||
index 85ff3f900e..7743b8d57a 100644
|
||||
index a18fbb2e8b..59421bfbb0 100644
|
||||
--- a/sysdeps/unix/sysv/linux/sh/sysdep.S
|
||||
+++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
|
||||
@@ -30,3 +30,14 @@ ENTRY (__syscall_error)
|
||||
@@ -51,6 +51,3 @@ index 85ff3f900e..7743b8d57a 100644
|
||||
+ .long 0x80000
|
||||
+weak_alias (___fpscr_values, __fpscr_values)
|
||||
+
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From e4b8abdc2d884d721fd89d67b689546f2f780924 Mon Sep 17 00:00:00 2001
|
||||
From 557ed640b26bd208ce8d4a6fd725b124893668d7 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 01:33:49 +0000
|
||||
Subject: [PATCH 21/29] eglibc: Forward port cross locale generation support
|
||||
Subject: [PATCH] eglibc: Forward port cross locale generation support
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
create mode 100644 locale/catnames.c
|
||||
|
||||
diff --git a/locale/Makefile b/locale/Makefile
|
||||
index 49c0c78c7d..ebfcf4f4da 100644
|
||||
index b7c60681fa..07c606cde3 100644
|
||||
--- a/locale/Makefile
|
||||
+++ b/locale/Makefile
|
||||
@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \
|
||||
@@ -89,7 +89,7 @@ index 0000000000..538f3f5edb
|
||||
+ [LC_ALL] = sizeof ("LC_ALL") - 1
|
||||
+ };
|
||||
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
|
||||
index fdc283c69a..4eeed35f90 100644
|
||||
index 22f9dc1140..fa31b3c5ea 100644
|
||||
--- a/locale/localeinfo.h
|
||||
+++ b/locale/localeinfo.h
|
||||
@@ -230,7 +230,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
|
||||
@@ -102,7 +102,7 @@ index fdc283c69a..4eeed35f90 100644
|
||||
# define NL_CURRENT_INDIRECT 1
|
||||
#endif
|
||||
diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
|
||||
index 1a526a240d..0fb2daf936 100644
|
||||
index 4841bfd05d..ffcba1fd79 100644
|
||||
--- a/locale/programs/charmap-dir.c
|
||||
+++ b/locale/programs/charmap-dir.c
|
||||
@@ -18,7 +18,9 @@
|
||||
@@ -148,7 +148,7 @@ index 1a526a240d..0fb2daf936 100644
|
||||
return NULL;
|
||||
}
|
||||
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
|
||||
index feb1a11258..5a8e522470 100644
|
||||
index 0af21e05e2..4980b0c52f 100644
|
||||
--- a/locale/programs/ld-collate.c
|
||||
+++ b/locale/programs/ld-collate.c
|
||||
@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
|
||||
@@ -197,7 +197,7 @@ index feb1a11258..5a8e522470 100644
|
||||
== runp->wcnext->wcs[runp->nwcs - 1] + 1));
|
||||
|
||||
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
|
||||
index 3328093d0e..d58fb0f4b7 100644
|
||||
index 2fb579bbbf..d0be99581c 100644
|
||||
--- a/locale/programs/ld-ctype.c
|
||||
+++ b/locale/programs/ld-ctype.c
|
||||
@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
|
||||
@@ -279,7 +279,7 @@ index 3328093d0e..d58fb0f4b7 100644
|
||||
srunp = srunp->next;
|
||||
}
|
||||
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
|
||||
index f7db873adb..fec3773c9d 100644
|
||||
index dcd2a2386d..6814740325 100644
|
||||
--- a/locale/programs/ld-time.c
|
||||
+++ b/locale/programs/ld-time.c
|
||||
@@ -220,8 +220,10 @@ No definition for %s category found"), "LC_TIME");
|
||||
@@ -348,7 +348,7 @@ index f7db873adb..fec3773c9d 100644
|
||||
|
||||
|
||||
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
|
||||
index 7ebd933801..5753750756 100644
|
||||
index 96d3ab66db..3af379d2c3 100644
|
||||
--- a/locale/programs/linereader.c
|
||||
+++ b/locale/programs/linereader.c
|
||||
@@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
|
||||
@@ -361,7 +361,7 @@ index 7ebd933801..5753750756 100644
|
||||
size_t bufmax = 56;
|
||||
|
||||
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
|
||||
index b048bd05b9..fed15c42ec 100644
|
||||
index 832c8fd1fc..fe689b3ae1 100644
|
||||
--- a/locale/programs/localedef.c
|
||||
+++ b/locale/programs/localedef.c
|
||||
@@ -109,6 +109,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
|
||||
@@ -407,7 +407,7 @@ index b048bd05b9..fed15c42ec 100644
|
||||
force_output = 1;
|
||||
break;
|
||||
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
|
||||
index eb2f4634da..d387147323 100644
|
||||
index 0f1affa1d4..7d86fae801 100644
|
||||
--- a/locale/programs/locfile.c
|
||||
+++ b/locale/programs/locfile.c
|
||||
@@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
|
||||
@@ -430,7 +430,7 @@ index eb2f4634da..d387147323 100644
|
||||
|
||||
/* Record that FILE's next element is the 32-bit integer VALUE. */
|
||||
diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
|
||||
index 7ea10038b4..0888c09762 100644
|
||||
index c986d599ec..222a779176 100644
|
||||
--- a/locale/programs/locfile.h
|
||||
+++ b/locale/programs/locfile.h
|
||||
@@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions,
|
||||
@@ -519,7 +519,7 @@ index 7ea10038b4..0888c09762 100644
|
||||
+
|
||||
#endif /* locfile.h */
|
||||
diff --git a/locale/setlocale.c b/locale/setlocale.c
|
||||
index 030f1727bd..096d8ed895 100644
|
||||
index 19ed85ae8e..f28ca11446 100644
|
||||
--- a/locale/setlocale.c
|
||||
+++ b/locale/setlocale.c
|
||||
@@ -63,35 +63,6 @@ static char *const _nl_current_used[] =
|
||||
@@ -558,6 +558,3 @@ index 030f1727bd..096d8ed895 100644
|
||||
#ifdef NL_CURRENT_INDIRECT
|
||||
# define WEAK_POSTLOAD(postload) weak_extern (postload)
|
||||
#else
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ad5bc87134871b99e082e2449b8c1ce2f1375ef9 Mon Sep 17 00:00:00 2001
|
||||
From c8df3cf4556d8d78a98675865395ce42f3b67109 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 20 Apr 2016 21:11:00 -0700
|
||||
Subject: [PATCH 22/29] Define DUMMY_LOCALE_T if not defined
|
||||
Subject: [PATCH] Define DUMMY_LOCALE_T if not defined
|
||||
|
||||
This is a hack to fix building the locale bits on an older
|
||||
CentOs 5.X machine
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/locale/programs/config.h b/locale/programs/config.h
|
||||
index d76d9f7e8b..92b56d7df3 100644
|
||||
index 2edcf3696c..5350101e38 100644
|
||||
--- a/locale/programs/config.h
|
||||
+++ b/locale/programs/config.h
|
||||
@@ -19,6 +19,9 @@
|
||||
@@ -27,6 +27,3 @@ index d76d9f7e8b..92b56d7df3 100644
|
||||
/* Use the internal textdomain used for libc messages. */
|
||||
#define PACKAGE _libc_intl_domainname
|
||||
#ifndef VERSION
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From c5fd8a3d336b8288f631fb6b6dd85f9d1076f25b Mon Sep 17 00:00:00 2001
|
||||
From 2ec233ce078b74030de9195096058cd502fdc395 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 3 Aug 2018 09:42:06 -0700
|
||||
Subject: [PATCH 23/29] localedef --add-to-archive uses a hard-coded locale
|
||||
path
|
||||
Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
|
||||
|
||||
it doesn't exist in normal use, and there's no way to pass an
|
||||
alternative filename.
|
||||
@@ -19,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 25 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
|
||||
index dccaf04e3b..ae0b7fe155 100644
|
||||
index 6bb189ae37..0711c5c44e 100644
|
||||
--- a/locale/programs/locarchive.c
|
||||
+++ b/locale/programs/locarchive.c
|
||||
@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
|
||||
@@ -79,6 +78,3 @@ index dccaf04e3b..ae0b7fe155 100644
|
||||
{
|
||||
if (readonly)
|
||||
{
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From dffa52364f8c54c455b2459ebe83f05cb6ffc9fc Mon Sep 17 00:00:00 2001
|
||||
From f8289aa320b00f6db43213979cceab2325a7a611 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Hatle <mark.hatle@windriver.com>
|
||||
Date: Thu, 18 Aug 2016 14:07:58 -0500
|
||||
Subject: [PATCH 24/29] elf/dl-deps.c: Make _dl_build_local_scope breadth first
|
||||
Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first
|
||||
|
||||
According to the ELF specification:
|
||||
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
|
||||
index b5a43232a7..8aa8f37fa3 100644
|
||||
index 087a49b212..c09f9334f2 100644
|
||||
--- a/elf/dl-deps.c
|
||||
+++ b/elf/dl-deps.c
|
||||
@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map)
|
||||
@@ -51,6 +51,3 @@ index b5a43232a7..8aa8f37fa3 100644
|
||||
return p - list;
|
||||
}
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From bc3380877bd2a1f9368a913fa6a2ca1ee88fd95f Mon Sep 17 00:00:00 2001
|
||||
From 3156464f9a95bf1dafd2e22d19d7bf89c520acc1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 3 Aug 2018 09:44:00 -0700
|
||||
Subject: [PATCH 25/29] intl: Emit no lines in bison generated files
|
||||
Subject: [PATCH] intl: Emit no lines in bison generated files
|
||||
|
||||
Improve reproducibility:
|
||||
Do not put any #line preprocessor commands in bison generated files.
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/intl/Makefile b/intl/Makefile
|
||||
index ce3072420f..58457840d9 100644
|
||||
index 93478d87e8..b27a7935eb 100644
|
||||
--- a/intl/Makefile
|
||||
+++ b/intl/Makefile
|
||||
@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
|
||||
@@ -29,6 +29,3 @@ index ce3072420f..58457840d9 100644
|
||||
|
||||
$(inst_localedir)/locale.alias: locale.alias $(+force)
|
||||
$(do-install)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,244 +0,0 @@
|
||||
From cf043d56638883157dbfaa8c6a8e2f63a6f66280 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 29 Nov 2018 17:29:35 -0800
|
||||
Subject: [PATCH 26/29] inject file assembly directives
|
||||
|
||||
Currently, non-IA builds are not reproducibile since build paths are
|
||||
being injected into the debug symbols. These are coming from the use of
|
||||
.S assembler files during the glibc build. No STT_FILE section is added
|
||||
during the assembly but when linking, ld decides to add one to aid
|
||||
debugging and ensure references between the different object files its
|
||||
linking remain clear.
|
||||
|
||||
We can avoid this by injecting a file header into the assembler files
|
||||
ahead of time, choosing a filename which does not contain build system
|
||||
paths.
|
||||
|
||||
This is a bit of a workaround/hack but does significantly reduce the
|
||||
build system references in target binaries for the non-IA architectures
|
||||
which use .S files.
|
||||
|
||||
RP
|
||||
2018/10/3
|
||||
|
||||
fixed in binutils 2.36 [1]
|
||||
|
||||
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=26822
|
||||
|
||||
Upstream-Status: OE-Specific [ Drop when upgrading binutils 2.36+ ]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
csu/abi-note.c | 2 ++
|
||||
sysdeps/aarch64/crti.S | 2 ++
|
||||
sysdeps/aarch64/crtn.S | 1 +
|
||||
sysdeps/aarch64/dl-tlsdesc.S | 2 ++
|
||||
sysdeps/aarch64/dl-trampoline.S | 2 ++
|
||||
sysdeps/aarch64/start.S | 2 ++
|
||||
sysdeps/arm/crti.S | 2 ++
|
||||
sysdeps/arm/crtn.S | 2 ++
|
||||
sysdeps/arm/dl-tlsdesc.S | 2 ++
|
||||
sysdeps/arm/dl-trampoline.S | 2 ++
|
||||
sysdeps/arm/start.S | 2 ++
|
||||
sysdeps/mips/start.S | 2 ++
|
||||
sysdeps/powerpc/powerpc32/dl-start.S | 2 ++
|
||||
sysdeps/powerpc/powerpc32/start.S | 2 ++
|
||||
sysdeps/powerpc/powerpc64/start.S | 2 ++
|
||||
sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++
|
||||
sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++
|
||||
sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++
|
||||
sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++
|
||||
19 files changed, 37 insertions(+)
|
||||
|
||||
--- a/sysdeps/aarch64/crti.S
|
||||
+++ b/sysdeps/aarch64/crti.S
|
||||
@@ -50,6 +50,8 @@
|
||||
# define PREINIT_FUNCTION_WEAK 1
|
||||
#endif
|
||||
|
||||
+ .file "crti.S"
|
||||
+
|
||||
#if PREINIT_FUNCTION_WEAK
|
||||
weak_extern (PREINIT_FUNCTION)
|
||||
#else
|
||||
--- a/sysdeps/aarch64/crtn.S
|
||||
+++ b/sysdeps/aarch64/crtn.S
|
||||
@@ -38,6 +38,7 @@
|
||||
corresponding to the prologues in crti.S. */
|
||||
|
||||
#include <sysdep.h>
|
||||
+ .file "crtn.S"
|
||||
|
||||
.section .init,"ax",%progbits
|
||||
ldp x29, x30, [sp], 16
|
||||
--- a/sysdeps/aarch64/dl-tlsdesc.S
|
||||
+++ b/sysdeps/aarch64/dl-tlsdesc.S
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <tls.h>
|
||||
#include "tlsdesc.h"
|
||||
|
||||
+ .file "dl-tlsdesc.S"
|
||||
+
|
||||
#define NSAVEDQREGPAIRS 16
|
||||
#define SAVE_Q_REGISTERS \
|
||||
stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \
|
||||
--- a/sysdeps/aarch64/dl-trampoline.S
|
||||
+++ b/sysdeps/aarch64/dl-trampoline.S
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
#include "dl-link.h"
|
||||
|
||||
+ .file "dl-trampoline.S"
|
||||
+
|
||||
#define ip0 x16
|
||||
#define ip0l PTR_REG (16)
|
||||
#define ip1 x17
|
||||
--- a/sysdeps/aarch64/start.S
|
||||
+++ b/sysdeps/aarch64/start.S
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
+ .file "start.S"
|
||||
+
|
||||
/* This is the canonical entry point, usually the first thing in the text
|
||||
segment.
|
||||
|
||||
--- a/sysdeps/arm/crti.S
|
||||
+++ b/sysdeps/arm/crti.S
|
||||
@@ -57,6 +57,8 @@
|
||||
.hidden PREINIT_FUNCTION
|
||||
#endif
|
||||
|
||||
+ .file "crti.S"
|
||||
+
|
||||
#if PREINIT_FUNCTION_WEAK
|
||||
.p2align 2
|
||||
.type call_weak_fn, %function
|
||||
--- a/sysdeps/arm/crtn.S
|
||||
+++ b/sysdeps/arm/crtn.S
|
||||
@@ -37,6 +37,8 @@
|
||||
#define NO_THUMB
|
||||
#include <sysdep.h>
|
||||
|
||||
+ .file "crtn.S"
|
||||
+
|
||||
/* crtn.S puts function epilogues in the .init and .fini sections
|
||||
corresponding to the prologues in crti.S. */
|
||||
|
||||
--- a/sysdeps/arm/dl-tlsdesc.S
|
||||
+++ b/sysdeps/arm/dl-tlsdesc.S
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <tls.h>
|
||||
#include "tlsdesc.h"
|
||||
|
||||
+ .file "dl-tlsdesc.S"
|
||||
+
|
||||
.text
|
||||
@ emit debug information with cfi
|
||||
@ use arm-specific pseudos for unwinding itself
|
||||
--- a/sysdeps/arm/dl-trampoline.S
|
||||
+++ b/sysdeps/arm/dl-trampoline.S
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <sysdep.h>
|
||||
#include <libc-symbols.h>
|
||||
|
||||
+ .file "dl-trampoline.S"
|
||||
+
|
||||
.text
|
||||
.globl _dl_runtime_resolve
|
||||
.type _dl_runtime_resolve, #function
|
||||
--- a/sysdeps/arm/start.S
|
||||
+++ b/sysdeps/arm/start.S
|
||||
@@ -57,6 +57,8 @@
|
||||
NULL
|
||||
*/
|
||||
|
||||
+ .file "start.S"
|
||||
+
|
||||
/* Tag_ABI_align8_preserved: This code preserves 8-byte
|
||||
alignment in any callee. */
|
||||
.eabi_attribute 25, 1
|
||||
--- a/sysdeps/mips/start.S
|
||||
+++ b/sysdeps/mips/start.S
|
||||
@@ -38,6 +38,8 @@
|
||||
#include <sgidefs.h>
|
||||
#include <sys/asm.h>
|
||||
|
||||
+ .file "start.S"
|
||||
+
|
||||
#ifndef ENTRY_POINT
|
||||
#error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
|
||||
#endif
|
||||
--- a/sysdeps/powerpc/powerpc32/dl-start.S
|
||||
+++ b/sysdeps/powerpc/powerpc32/dl-start.S
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
+ .file "dl-start.S"
|
||||
+
|
||||
/* Initial entry point code for the dynamic linker.
|
||||
The C function `_dl_start' is the real entry point;
|
||||
its return value is the user program's entry point. */
|
||||
--- a/sysdeps/powerpc/powerpc32/start.S
|
||||
+++ b/sysdeps/powerpc/powerpc32/start.S
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
+ .file "start.S"
|
||||
+
|
||||
/* We do not want .eh_frame info for crt1.o since crt1.o is linked
|
||||
before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
|
||||
#undef cfi_startproc
|
||||
--- a/sysdeps/powerpc/powerpc64/start.S
|
||||
+++ b/sysdeps/powerpc/powerpc64/start.S
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
+ .file "start.S"
|
||||
+
|
||||
/* We do not want .eh_frame info for crt1.o since crt1.o is linked
|
||||
before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
|
||||
#undef cfi_startproc
|
||||
--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
|
||||
+++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
+ .file "__read_tp.S"
|
||||
+
|
||||
.hidden __read_tp
|
||||
ENTRY (__read_tp)
|
||||
mrs x0, tpidr_el0
|
||||
--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
|
||||
@@ -39,6 +39,8 @@
|
||||
a normal function call) in a high page of memory; tail call to the
|
||||
helper. */
|
||||
|
||||
+ .file "aeabi_read_tp.S"
|
||||
+
|
||||
.hidden __aeabi_read_tp
|
||||
ENTRY (__aeabi_read_tp)
|
||||
#ifdef ARCH_HAS_HARD_TP
|
||||
--- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
|
||||
+++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
|
||||
@@ -27,6 +27,8 @@
|
||||
ARM unwind tables for register to register moves, the actual opcodes
|
||||
are not defined. */
|
||||
|
||||
+ .file "libc-do-syscall.S"
|
||||
+
|
||||
#if defined(__thumb__)
|
||||
.thumb
|
||||
.syntax unified
|
||||
--- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
|
||||
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
|
||||
@@ -1 +1,3 @@
|
||||
+ .file "dl-brk.S"
|
||||
+
|
||||
#include <brk.S>
|
||||
@@ -1,7 +1,7 @@
|
||||
From 10aef8f0671d814aaf910ababc0225cf6f0a46e8 Mon Sep 17 00:00:00 2001
|
||||
From 881f5b8134afd9a30049b93fc79dda7a44947a5f Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <martin.jansa@gmail.com>
|
||||
Date: Mon, 17 Dec 2018 21:36:18 +0000
|
||||
Subject: [PATCH 27/29] locale: prevent maybe-uninitialized errors with -Os [BZ
|
||||
Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
|
||||
#19444]
|
||||
|
||||
Fixes following error when building for aarch64 with -Os:
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/locale/weight.h b/locale/weight.h
|
||||
index e071253f85..2889c395f1 100644
|
||||
index 723e1fefda..f5798d379a 100644
|
||||
--- a/locale/weight.h
|
||||
+++ b/locale/weight.h
|
||||
@@ -28,7 +28,14 @@ findidx (const int32_t *table,
|
||||
@@ -51,6 +51,3 @@ index e071253f85..2889c395f1 100644
|
||||
const unsigned char *cp;
|
||||
const unsigned char *usrc;
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From 70731329feb7ba20364aa37aed83d920de97f028 Mon Sep 17 00:00:00 2001
|
||||
From b4e0a034b12b313dcb82d22341bef6a66b3e9ef9 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2015 00:11:22 +0000
|
||||
Subject: [PATCH 28/29] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
|
||||
names
|
||||
Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
|
||||
|
||||
This bolts in a hook for OE to pass its own version of interpreter
|
||||
names into glibc especially for multilib case, where it differs from any
|
||||
@@ -17,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/elf/readlib.c b/elf/readlib.c
|
||||
index 994a4426a1..baabf099b1 100644
|
||||
index 7383c23249..e97ea9449d 100644
|
||||
--- a/elf/readlib.c
|
||||
+++ b/elf/readlib.c
|
||||
@@ -51,6 +51,7 @@ static struct known_names interpreters[] =
|
||||
@@ -28,6 +27,3 @@ index 994a4426a1..baabf099b1 100644
|
||||
};
|
||||
|
||||
static struct known_names known_libs[] =
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From bf1c4b2f01c5f86bb770fd1711a69ea727e0f56e Mon Sep 17 00:00:00 2001
|
||||
From 2ae3ff3ae28abb1d0d100b4722da7ff188de9a30 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 15 May 2020 17:05:45 -0700
|
||||
Subject: [PATCH 29/29] wordsize.h: Unify the header between arm and aarch64
|
||||
Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
|
||||
|
||||
This helps OE multilibs to not sythesize this header which causes all
|
||||
kind of recursions and other issues since wordsize is fundamental header
|
||||
@@ -11,13 +11,13 @@ Upstream-Status: Inappropriate [ OE-Specific ]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
sysdeps/aarch64/bits/wordsize.h | 8 ++++++--
|
||||
sysdeps/{aarch64 => arm}/bits/wordsize.h | 8 ++++++--
|
||||
2 files changed, 12 insertions(+), 4 deletions(-)
|
||||
copy sysdeps/{aarch64 => arm}/bits/wordsize.h (85%)
|
||||
sysdeps/aarch64/bits/wordsize.h | 8 ++++++--
|
||||
sysdeps/{aarch64 => arm}/bits/wordsize.h | 10 +++++++---
|
||||
2 files changed, 13 insertions(+), 5 deletions(-)
|
||||
copy sysdeps/{aarch64 => arm}/bits/wordsize.h (80%)
|
||||
|
||||
diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
|
||||
index ee01841773..34fcdef1f1 100644
|
||||
index 91da566b74..9a754514b3 100644
|
||||
--- a/sysdeps/aarch64/bits/wordsize.h
|
||||
+++ b/sysdeps/aarch64/bits/wordsize.h
|
||||
@@ -17,12 +17,16 @@
|
||||
@@ -40,12 +40,20 @@ index ee01841773..34fcdef1f1 100644
|
||||
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
|
||||
similarity index 85%
|
||||
similarity index 80%
|
||||
copy from sysdeps/aarch64/bits/wordsize.h
|
||||
copy to sysdeps/arm/bits/wordsize.h
|
||||
index ee01841773..34fcdef1f1 100644
|
||||
index 91da566b74..34fcdef1f1 100644
|
||||
--- a/sysdeps/aarch64/bits/wordsize.h
|
||||
+++ b/sysdeps/arm/bits/wordsize.h
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Determine the wordsize from the preprocessor defines.
|
||||
|
||||
- Copyright (C) 2016-2021 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2016-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -17,12 +17,16 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
@@ -65,6 +73,3 @@ index ee01841773..34fcdef1f1 100644
|
||||
#endif
|
||||
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 8b1d521290218df8ceeaf2e6ee44a54b19d8d328 Mon Sep 17 00:00:00 2001
|
||||
From 5cc14938f05ae1354c8062f017a21f39d5fc9729 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 7 Aug 2020 14:31:16 -0700
|
||||
Subject: [PATCH 30/30] powerpc: Do not ask compiler for finding arch
|
||||
Subject: [PATCH] powerpc: Do not ask compiler for finding arch
|
||||
|
||||
This does not work well in cross compiling environments like OE
|
||||
and moreover it uses its own -mcpu/-march options via cflags
|
||||
@@ -46,6 +46,3 @@ index 6c63bd8257..3e925f1d48 100644
|
||||
# Note if you add patterns here you must ensure that an appropriate
|
||||
# directory exists in sysdeps/powerpc. Likewise, if we find a
|
||||
# cpu, don't let the generic configure append extra compiler options.
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
From 75a193b7611bade31a150dfcc528b973e3d46231 Mon Sep 17 00:00:00 2001
|
||||
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
Date: Mon, 2 Nov 2020 16:18:29 -0300
|
||||
Subject: [PATCH] linux: Allow adjtime with NULL argument [BZ #26833]
|
||||
|
||||
The adjtime interface allows return the amount of time remaining
|
||||
from any previous adjustment that has not yet been completed by
|
||||
passing a NULL as first argument. This was introduced with y2038
|
||||
support 0308077e3a.
|
||||
|
||||
Checked on i686-linux-gnu.
|
||||
|
||||
Reviewed-by: Lukasz Majewski <lukma@denx.de>
|
||||
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=75a193b7611bade31a150dfcc528b973e3d46231]
|
||||
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
|
||||
---
|
||||
sysdeps/unix/sysv/linux/adjtime.c | 11 +++++---
|
||||
time/Makefile | 3 ++-
|
||||
time/tst-adjtime.c | 44 +++++++++++++++++++++++++++++++
|
||||
3 files changed, 54 insertions(+), 4 deletions(-)
|
||||
create mode 100644 time/tst-adjtime.c
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/adjtime.c b/sysdeps/unix/sysv/linux/adjtime.c
|
||||
index 3f9a4ea2eb..6d1d1b6af2 100644
|
||||
--- a/sysdeps/unix/sysv/linux/adjtime.c
|
||||
+++ b/sysdeps/unix/sysv/linux/adjtime.c
|
||||
@@ -68,11 +68,16 @@ libc_hidden_def (__adjtime64)
|
||||
int
|
||||
__adjtime (const struct timeval *itv, struct timeval *otv)
|
||||
{
|
||||
- struct __timeval64 itv64, otv64;
|
||||
+ struct __timeval64 itv64, *pitv64 = NULL;
|
||||
+ struct __timeval64 otv64;
|
||||
int retval;
|
||||
|
||||
- itv64 = valid_timeval_to_timeval64 (*itv);
|
||||
- retval = __adjtime64 (&itv64, otv != NULL ? &otv64 : NULL);
|
||||
+ if (itv != NULL)
|
||||
+ {
|
||||
+ itv64 = valid_timeval_to_timeval64 (*itv);
|
||||
+ pitv64 = &itv64;
|
||||
+ }
|
||||
+ retval = __adjtime64 (pitv64, otv != NULL ? &otv64 : NULL);
|
||||
if (otv != NULL)
|
||||
*otv = valid_timeval64_to_timeval (otv64);
|
||||
|
||||
diff --git a/time/Makefile b/time/Makefile
|
||||
index 26aa835166..f27a75a115 100644
|
||||
--- a/time/Makefile
|
||||
+++ b/time/Makefile
|
||||
@@ -47,7 +47,8 @@ tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
|
||||
tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \
|
||||
tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime \
|
||||
tst-tzname tst-y2039 bug-mktime4 tst-strftime2 tst-strftime3 \
|
||||
- tst-clock tst-clock2 tst-clock_nanosleep tst-cpuclock1
|
||||
+ tst-clock tst-clock2 tst-clock_nanosleep tst-cpuclock1 \
|
||||
+ tst-adjtime
|
||||
|
||||
include ../Rules
|
||||
|
||||
diff --git a/time/tst-adjtime.c b/time/tst-adjtime.c
|
||||
new file mode 100644
|
||||
index 0000000000..ae2b37cdab
|
||||
--- /dev/null
|
||||
+++ b/time/tst-adjtime.c
|
||||
@@ -0,0 +1,44 @@
|
||||
+/* Basic tests for adjtime.
|
||||
+ Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <https://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <sys/time.h>
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+#include <errno.h>
|
||||
+#include <support/check.h>
|
||||
+
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ /* Check if the interface allows getting the amount of time remaining
|
||||
+ from any previous adjustment that has not yet been completed. This
|
||||
+ is a non-privileged function of adjtime. */
|
||||
+ struct timeval tv;
|
||||
+ int r = adjtime (NULL, &tv);
|
||||
+ if (r == -1)
|
||||
+ {
|
||||
+ if (errno == ENOSYS)
|
||||
+ FAIL_UNSUPPORTED ("adjtime unsupported");
|
||||
+ FAIL_EXIT1 ("adjtime (NULL, ...) failed: %m");
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#include <support/test-driver.c>
|
||||
@@ -0,0 +1,116 @@
|
||||
From b1971f6f1331d738d1d6b376b4741668a7546125 Mon Sep 17 00:00:00 2001
|
||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||
Date: Tue, 2 Feb 2021 13:45:58 -0800
|
||||
Subject: [PATCH] x86: Require full ISA support for x86-64 level marker [BZ #27318]
|
||||
|
||||
Since -march=sandybridge enables ISAs in x86-64 ISA level v3, the v3
|
||||
marker is set on libc.so. We couldn't set the needed ISA marker to v2
|
||||
since this libc won't run on all v2 machines. Technically, the v3 marker
|
||||
is correct. But the resulting libc.so won't run on Sandy Brigde, which
|
||||
is a v2 machine, even when libc is compiled with -march=sandybridge:
|
||||
|
||||
$ ./elf/ld.so ./libc.so
|
||||
./libc.so: (p) CPU ISA level is lower than required: needed: 7; got: 3
|
||||
|
||||
Instead, we require full ISA support for x86-64 level marker and disable
|
||||
x86-64 level marker for -march=sandybridge which enables ISAs between v2
|
||||
and v3.
|
||||
|
||||
Upstream-Status: Submitted [https://sourceware.org/pipermail/libc-alpha/2021-February/122297.html]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
|
||||
sysdeps/x86/configure | 7 ++++++-
|
||||
sysdeps/x86/configure.ac | 2 +-
|
||||
sysdeps/x86/isa-level.c | 21 ++++++++++++++++++++-
|
||||
3 files changed, 27 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure
|
||||
index 5e32dc62b3..5b20646843 100644
|
||||
--- a/sysdeps/x86/configure
|
||||
+++ b/sysdeps/x86/configure
|
||||
@@ -133,7 +133,12 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest c
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then
|
||||
count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l`
|
||||
- if test "$count" = 1; then
|
||||
+ if test "$count" = 1 && { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c'
|
||||
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
+ test $ac_status = 0; }; }; then
|
||||
libc_cv_include_x86_isa_level=yes
|
||||
fi
|
||||
fi
|
||||
diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
|
||||
index f94088f377..54ecd33d2c 100644
|
||||
--- a/sysdeps/x86/configure.ac
|
||||
+++ b/sysdeps/x86/configure.ac
|
||||
@@ -100,7 +100,7 @@ EOF
|
||||
libc_cv_include_x86_isa_level=no
|
||||
if AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest conftest1.S conftest2.S); then
|
||||
count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l`
|
||||
- if test "$count" = 1; then
|
||||
+ if test "$count" = 1 && AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c); then
|
||||
libc_cv_include_x86_isa_level=yes
|
||||
fi
|
||||
fi
|
||||
diff --git a/sysdeps/x86/isa-level.c b/sysdeps/x86/isa-level.c
|
||||
index aaf524cb56..7f83449061 100644
|
||||
--- a/sysdeps/x86/isa-level.c
|
||||
+++ b/sysdeps/x86/isa-level.c
|
||||
@@ -25,12 +25,17 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
-#include <elf.h>
|
||||
+#ifdef _LIBC
|
||||
+# include <elf.h>
|
||||
+#endif
|
||||
|
||||
/* ELF program property for x86 ISA level. */
|
||||
#ifdef INCLUDE_X86_ISA_LEVEL
|
||||
# if defined __x86_64__ || defined __FXSR__ || !defined _SOFT_FLOAT \
|
||||
|| defined __MMX__ || defined __SSE__ || defined __SSE2__
|
||||
+# if !defined __SSE__ || !defined __SSE2__
|
||||
+# error "Missing ISAs for x86-64 ISA level baseline"
|
||||
+# endif
|
||||
# define ISA_BASELINE GNU_PROPERTY_X86_ISA_1_BASELINE
|
||||
# else
|
||||
# define ISA_BASELINE 0
|
||||
@@ -40,6 +45,11 @@
|
||||
|| (defined __x86_64__ && defined __LAHF_SAHF__) \
|
||||
|| defined __POPCNT__ || defined __SSE3__ \
|
||||
|| defined __SSSE3__ || defined __SSE4_1__ || defined __SSE4_2__
|
||||
+# if !defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 \
|
||||
+ || !defined __POPCNT__ || !defined __SSE3__ \
|
||||
+ || !defined __SSSE3__ || !defined __SSE4_1__ || !defined __SSE4_2__
|
||||
+# error "Missing ISAs for x86-64 ISA level v2"
|
||||
+# endif
|
||||
# define ISA_V2 GNU_PROPERTY_X86_ISA_1_V2
|
||||
# else
|
||||
# define ISA_V2 0
|
||||
@@ -48,6 +58,10 @@
|
||||
# if defined __AVX__ || defined __AVX2__ || defined __F16C__ \
|
||||
|| defined __FMA__ || defined __LZCNT__ || defined __MOVBE__ \
|
||||
|| defined __XSAVE__
|
||||
+# if !defined __AVX__ || !defined __AVX2__ || !defined __F16C__ \
|
||||
+ || !defined __FMA__ || !defined __LZCNT__
|
||||
+# error "Missing ISAs for x86-64 ISA level v3"
|
||||
+# endif
|
||||
# define ISA_V3 GNU_PROPERTY_X86_ISA_1_V3
|
||||
# else
|
||||
# define ISA_V3 0
|
||||
@@ -55,6 +69,11 @@
|
||||
|
||||
# if defined __AVX512F__ || defined __AVX512BW__ || defined __AVX512CD__ \
|
||||
|| defined __AVX512DQ__ || defined __AVX512VL__
|
||||
+# if !defined __AVX512F__ || !defined __AVX512BW__ \
|
||||
+ || !defined __AVX512CD__ || !defined __AVX512DQ__ \
|
||||
+ || !defined __AVX512VL__
|
||||
+# error "Missing ISAs for x86-64 ISA level v4"
|
||||
+# endif
|
||||
# define ISA_V4 GNU_PROPERTY_X86_ISA_1_V4
|
||||
# else
|
||||
# define ISA_V4 0
|
||||
@@ -1,137 +0,0 @@
|
||||
From ee7a3144c9922808181009b7b3e50e852fb4999b Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <schwab@suse.de>
|
||||
Date: Mon, 21 Dec 2020 08:56:43 +0530
|
||||
Subject: [PATCH] Fix buffer overrun in EUC-KR conversion module (bz #24973)
|
||||
|
||||
The byte 0xfe as input to the EUC-KR conversion denotes a user-defined
|
||||
area and is not allowed. The from_euc_kr function used to skip two bytes
|
||||
when told to skip over the unknown designation, potentially running over
|
||||
the buffer end.
|
||||
|
||||
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=patch;h=ee7a3144c9922808181009b7b3e50e852fb4999b]
|
||||
CVE: CVE-2019-25013
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
iconvdata/Makefile | 3 ++-
|
||||
iconvdata/bug-iconv13.c | 53 +++++++++++++++++++++++++++++++++++++++++
|
||||
iconvdata/euc-kr.c | 6 +----
|
||||
iconvdata/ksc5601.h | 6 ++---
|
||||
4 files changed, 59 insertions(+), 9 deletions(-)
|
||||
create mode 100644 iconvdata/bug-iconv13.c
|
||||
|
||||
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
|
||||
index 4ec2741cdc..85009f3390 100644
|
||||
--- a/iconvdata/Makefile
|
||||
+++ b/iconvdata/Makefile
|
||||
@@ -73,7 +73,8 @@ modules.so := $(addsuffix .so, $(modules))
|
||||
ifeq (yes,$(build-shared))
|
||||
tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \
|
||||
tst-iconv6 bug-iconv5 bug-iconv6 tst-iconv7 bug-iconv8 bug-iconv9 \
|
||||
- bug-iconv10 bug-iconv11 bug-iconv12 tst-iconv-big5-hkscs-to-2ucs4
|
||||
+ bug-iconv10 bug-iconv11 bug-iconv12 tst-iconv-big5-hkscs-to-2ucs4 \
|
||||
+ bug-iconv13
|
||||
ifeq ($(have-thread-library),yes)
|
||||
tests += bug-iconv3
|
||||
endif
|
||||
diff --git a/iconvdata/bug-iconv13.c b/iconvdata/bug-iconv13.c
|
||||
new file mode 100644
|
||||
index 0000000000..87aaff398e
|
||||
--- /dev/null
|
||||
+++ b/iconvdata/bug-iconv13.c
|
||||
@@ -0,0 +1,53 @@
|
||||
+/* bug 24973: Test EUC-KR module
|
||||
+ Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <https://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <errno.h>
|
||||
+#include <iconv.h>
|
||||
+#include <stdio.h>
|
||||
+#include <support/check.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ iconv_t cd = iconv_open ("UTF-8//IGNORE", "EUC-KR");
|
||||
+ TEST_VERIFY_EXIT (cd != (iconv_t) -1);
|
||||
+
|
||||
+ /* 0xfe (->0x7e : row 94) and 0xc9 (->0x49 : row 41) are user-defined
|
||||
+ areas, which are not allowed and should be skipped over due to
|
||||
+ //IGNORE. The trailing 0xfe also is an incomplete sequence, which
|
||||
+ should be checked first. */
|
||||
+ char input[4] = { '\xc9', '\xa1', '\0', '\xfe' };
|
||||
+ char *inptr = input;
|
||||
+ size_t insize = sizeof (input);
|
||||
+ char output[4];
|
||||
+ char *outptr = output;
|
||||
+ size_t outsize = sizeof (output);
|
||||
+
|
||||
+ /* This used to crash due to buffer overrun. */
|
||||
+ TEST_VERIFY (iconv (cd, &inptr, &insize, &outptr, &outsize) == (size_t) -1);
|
||||
+ TEST_VERIFY (errno == EINVAL);
|
||||
+ /* The conversion should produce one character, the converted null
|
||||
+ character. */
|
||||
+ TEST_VERIFY (sizeof (output) - outsize == 1);
|
||||
+
|
||||
+ TEST_VERIFY_EXIT (iconv_close (cd) != -1);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#include <support/test-driver.c>
|
||||
diff --git a/iconvdata/euc-kr.c b/iconvdata/euc-kr.c
|
||||
index b0d56cf3ee..1045bae926 100644
|
||||
--- a/iconvdata/euc-kr.c
|
||||
+++ b/iconvdata/euc-kr.c
|
||||
@@ -80,11 +80,7 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
|
||||
\
|
||||
if (ch <= 0x9f) \
|
||||
++inptr; \
|
||||
- /* 0xfe(->0x7e : row 94) and 0xc9(->0x59 : row 41) are \
|
||||
- user-defined areas. */ \
|
||||
- else if (__builtin_expect (ch == 0xa0, 0) \
|
||||
- || __builtin_expect (ch > 0xfe, 0) \
|
||||
- || __builtin_expect (ch == 0xc9, 0)) \
|
||||
+ else if (__glibc_unlikely (ch == 0xa0)) \
|
||||
{ \
|
||||
/* This is illegal. */ \
|
||||
STANDARD_FROM_LOOP_ERR_HANDLER (1); \
|
||||
diff --git a/iconvdata/ksc5601.h b/iconvdata/ksc5601.h
|
||||
index d3eb3a4ff8..f5cdc72797 100644
|
||||
--- a/iconvdata/ksc5601.h
|
||||
+++ b/iconvdata/ksc5601.h
|
||||
@@ -50,15 +50,15 @@ ksc5601_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
|
||||
unsigned char ch2;
|
||||
int idx;
|
||||
|
||||
+ if (avail < 2)
|
||||
+ return 0;
|
||||
+
|
||||
/* row 94(0x7e) and row 41(0x49) are user-defined area in KS C 5601 */
|
||||
|
||||
if (ch < offset || (ch - offset) <= 0x20 || (ch - offset) >= 0x7e
|
||||
|| (ch - offset) == 0x49)
|
||||
return __UNKNOWN_10646_CHAR;
|
||||
|
||||
- if (avail < 2)
|
||||
- return 0;
|
||||
-
|
||||
ch2 = (*s)[1];
|
||||
if (ch2 < offset || (ch2 - offset) <= 0x20 || (ch2 - offset) >= 0x7f)
|
||||
return __UNKNOWN_10646_CHAR;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
From 228edd356f03bf62dcf2b1335f25d43c602ee68d Mon Sep 17 00:00:00 2001
|
||||
From: Michael Colavita <mcolavita@fb.com>
|
||||
Date: Thu, 19 Nov 2020 11:44:40 -0500
|
||||
Subject: [PATCH] iconv: Fix incorrect UCS4 inner loop bounds (BZ#26923)
|
||||
|
||||
Previously, in UCS4 conversion routines we limit the number of
|
||||
characters we examine to the minimum of the number of characters in the
|
||||
input and the number of characters in the output. This is not the
|
||||
correct behavior when __GCONV_IGNORE_ERRORS is set, as we do not consume
|
||||
an output character when we skip a code unit. Instead, track the input
|
||||
and output pointers and terminate the loop when either reaches its
|
||||
limit.
|
||||
|
||||
This resolves assertion failures when resetting the input buffer in a step of
|
||||
iconv, which assumes that the input will be fully consumed given sufficient
|
||||
output space.
|
||||
|
||||
Upstream-Status: Backport [git://sourceware.org/git/glibc.git]
|
||||
CVE: CVE-2020-29562
|
||||
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
|
||||
---
|
||||
iconv/Makefile | 2 +-
|
||||
iconv/gconv_simple.c | 16 ++++----------
|
||||
iconv/tst-iconv8.c | 50 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 55 insertions(+), 13 deletions(-)
|
||||
create mode 100644 iconv/tst-iconv8.c
|
||||
|
||||
diff --git a/iconv/Makefile b/iconv/Makefile
|
||||
index 30bf996d3a..f9b51e23ec 100644
|
||||
--- a/iconv/Makefile
|
||||
+++ b/iconv/Makefile
|
||||
@@ -44,7 +44,7 @@ CFLAGS-linereader.c += -DNO_TRANSLITERATION
|
||||
CFLAGS-simple-hash.c += -I../locale
|
||||
|
||||
tests = tst-iconv1 tst-iconv2 tst-iconv3 tst-iconv4 tst-iconv5 tst-iconv6 \
|
||||
- tst-iconv7 tst-iconv-mt tst-iconv-opt
|
||||
+ tst-iconv7 tst-iconv8 tst-iconv-mt tst-iconv-opt
|
||||
|
||||
others = iconv_prog iconvconfig
|
||||
install-others-programs = $(inst_bindir)/iconv
|
||||
diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c
|
||||
index d4797fba17..963b29f246 100644
|
||||
--- a/iconv/gconv_simple.c
|
||||
+++ b/iconv/gconv_simple.c
|
||||
@@ -239,11 +239,9 @@ ucs4_internal_loop (struct __gconv_step *step,
|
||||
int flags = step_data->__flags;
|
||||
const unsigned char *inptr = *inptrp;
|
||||
unsigned char *outptr = *outptrp;
|
||||
- size_t n_convert = MIN (inend - inptr, outend - outptr) / 4;
|
||||
int result;
|
||||
- size_t cnt;
|
||||
|
||||
- for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4)
|
||||
+ for (; inptr + 4 <= inend && outptr + 4 <= outend; inptr += 4)
|
||||
{
|
||||
uint32_t inval;
|
||||
|
||||
@@ -307,11 +305,9 @@ ucs4_internal_loop_unaligned (struct __gconv_step *step,
|
||||
int flags = step_data->__flags;
|
||||
const unsigned char *inptr = *inptrp;
|
||||
unsigned char *outptr = *outptrp;
|
||||
- size_t n_convert = MIN (inend - inptr, outend - outptr) / 4;
|
||||
int result;
|
||||
- size_t cnt;
|
||||
|
||||
- for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4)
|
||||
+ for (; inptr + 4 <= inend && outptr + 4 <= outend; inptr += 4)
|
||||
{
|
||||
if (__glibc_unlikely (inptr[0] > 0x80))
|
||||
{
|
||||
@@ -613,11 +609,9 @@ ucs4le_internal_loop (struct __gconv_step *step,
|
||||
int flags = step_data->__flags;
|
||||
const unsigned char *inptr = *inptrp;
|
||||
unsigned char *outptr = *outptrp;
|
||||
- size_t n_convert = MIN (inend - inptr, outend - outptr) / 4;
|
||||
int result;
|
||||
- size_t cnt;
|
||||
|
||||
- for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4)
|
||||
+ for (; inptr + 4 <= inend && outptr + 4 <= outend; inptr += 4)
|
||||
{
|
||||
uint32_t inval;
|
||||
|
||||
@@ -684,11 +678,9 @@ ucs4le_internal_loop_unaligned (struct __gconv_step *step,
|
||||
int flags = step_data->__flags;
|
||||
const unsigned char *inptr = *inptrp;
|
||||
unsigned char *outptr = *outptrp;
|
||||
- size_t n_convert = MIN (inend - inptr, outend - outptr) / 4;
|
||||
int result;
|
||||
- size_t cnt;
|
||||
|
||||
- for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4)
|
||||
+ for (; inptr + 4 <= inend && outptr + 4 <= outend; inptr += 4)
|
||||
{
|
||||
if (__glibc_unlikely (inptr[3] > 0x80))
|
||||
{
|
||||
diff --git a/iconv/tst-iconv8.c b/iconv/tst-iconv8.c
|
||||
new file mode 100644
|
||||
index 0000000000..0b92b19f66
|
||||
--- /dev/null
|
||||
+++ b/iconv/tst-iconv8.c
|
||||
@@ -0,0 +1,50 @@
|
||||
+/* Test iconv behavior on UCS4 conversions with //IGNORE.
|
||||
+ Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+/* Derived from BZ #26923 */
|
||||
+#include <errno.h>
|
||||
+#include <iconv.h>
|
||||
+#include <stdio.h>
|
||||
+#include <support/check.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ iconv_t cd = iconv_open ("UTF-8//IGNORE", "ISO-10646/UCS4/");
|
||||
+ TEST_VERIFY_EXIT (cd != (iconv_t) -1);
|
||||
+
|
||||
+ /*
|
||||
+ * Convert sequence beginning with an irreversible character into buffer that
|
||||
+ * is too small.
|
||||
+ */
|
||||
+ char input[12] = "\xe1\x80\xa1" "AAAAAAAAA";
|
||||
+ char *inptr = input;
|
||||
+ size_t insize = sizeof (input);
|
||||
+ char output[6];
|
||||
+ char *outptr = output;
|
||||
+ size_t outsize = sizeof (output);
|
||||
+
|
||||
+ TEST_VERIFY (iconv (cd, &inptr, &insize, &outptr, &outsize) == -1);
|
||||
+ TEST_VERIFY (errno == E2BIG);
|
||||
+
|
||||
+ TEST_VERIFY_EXIT (iconv_close (cd) != -1);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#include <support/test-driver.c>
|
||||
--
|
||||
2.17.0
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
From 681900d29683722b1cb0a8e565a0585846ec5a61 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Tue, 22 Sep 2020 19:07:48 +0200
|
||||
Subject: [PATCH] x86: Harden printf against non-normal long double values (bug
|
||||
26649)
|
||||
|
||||
The behavior of isnan/__builtin_isnan on bit patterns that do not
|
||||
correspond to something that the CPU would produce from valid inputs
|
||||
is currently under-defined in the toolchain. (The GCC built-in and
|
||||
glibc disagree.)
|
||||
|
||||
The isnan check in PRINTF_FP_FETCH in stdio-common/printf_fp.c
|
||||
assumes the GCC behavior that returns true for non-normal numbers
|
||||
which are not specified as NaN. (The glibc implementation returns
|
||||
false for such numbers.)
|
||||
|
||||
At present, passing non-normal numbers to __mpn_extract_long_double
|
||||
causes this function to produce irregularly shaped multi-precision
|
||||
integers, triggering undefined behavior in __printf_fp_l.
|
||||
|
||||
With GCC 10 and glibc 2.32, this behavior is not visible because
|
||||
__builtin_isnan is used, which avoids calling
|
||||
__mpn_extract_long_double in this case. This commit updates the
|
||||
implementation of __mpn_extract_long_double so that regularly shaped
|
||||
multi-precision integers are produced in this case, avoiding
|
||||
undefined behavior in __printf_fp_l.
|
||||
|
||||
Upstream-Status: Backport [git://sourceware.org/git/glibc.git]
|
||||
CVE: CVE-2020-29573
|
||||
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
|
||||
---
|
||||
sysdeps/i386/ldbl2mpn.c | 8 ++++
|
||||
1 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/ldbl2mpn.c b/sysdeps/i386/ldbl2mpn.c
|
||||
index ec8464eef7..23afedfb67 100644
|
||||
--- a/sysdeps/i386/ldbl2mpn.c
|
||||
+++ b/sysdeps/i386/ldbl2mpn.c
|
||||
@@ -115,6 +115,14 @@ __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
|
||||
&& res_ptr[N - 1] == 0)
|
||||
/* Pseudo zero. */
|
||||
*expt = 0;
|
||||
+ else
|
||||
+ /* Unlike other floating point formats, the most significant bit
|
||||
+ is explicit and expected to be set for normal numbers. Set it
|
||||
+ in case it is cleared in the input. Otherwise, callers will
|
||||
+ not be able to produce the expected multi-precision integer
|
||||
+ layout by shifting. */
|
||||
+ res_ptr[N - 1] |= (mp_limb_t) 1 << (LDBL_MANT_DIG - 1
|
||||
+ - ((N - 1) * BITS_PER_MP_LIMB));
|
||||
|
||||
return N;
|
||||
}
|
||||
--
|
||||
2.17.0
|
||||
|
||||
@@ -38,15 +38,11 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
|
||||
file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
|
||||
file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
|
||||
file://0025-intl-Emit-no-lines-in-bison-generated-files.patch \
|
||||
file://0026-inject-file-assembly-directives.patch \
|
||||
file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
|
||||
file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
|
||||
file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
|
||||
file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
|
||||
file://0031-linux-Allow-adjtime-with-NULL-argument-BZ-26833.patch \
|
||||
file://CVE-2020-29562.patch \
|
||||
file://CVE-2020-29573.patch \
|
||||
file://CVE-2019-25013.patch \
|
||||
file://0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build-${TARGET_SYS}"
|
||||
@@ -79,6 +75,9 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
|
||||
|
||||
EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
|
||||
|
||||
EXTRA_OECONF_append_x86 = " --enable-cet"
|
||||
EXTRA_OECONF_append_x86-64 = " --enable-cet"
|
||||
|
||||
PACKAGECONFIG ??= "nscd"
|
||||
PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd"
|
||||
|
||||
@@ -27,7 +27,7 @@ IMAGE_ROOTFS_SIZE = "8192"
|
||||
IMAGE_ROOTFS_EXTRA_SPACE = "0"
|
||||
|
||||
# Use the same restriction as initramfs-live-install
|
||||
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
|
||||
COMPATIBLE_HOST = "(i.86|x86_64|aarch64).*-linux"
|
||||
|
||||
python tinyinitrd () {
|
||||
# Modify our init file so the user knows we drop to shell prompt on purpose
|
||||
|
||||
@@ -21,9 +21,12 @@ DUMMYPROVIDES_PACKAGES = "\
|
||||
nativesdk-perl-module-io-file \
|
||||
nativesdk-perl-module-overloading \
|
||||
nativesdk-perl-module-posix \
|
||||
nativesdk-perl-module-strict \
|
||||
nativesdk-perl-module-text-parsewords \
|
||||
nativesdk-perl-module-thread-queue \
|
||||
nativesdk-perl-module-threads \
|
||||
nativesdk-perl-module-warnings \
|
||||
nativesdk-perl-module-vars \
|
||||
"
|
||||
|
||||
DUMMYPROVIDES = "\
|
||||
|
||||
@@ -1,245 +0,0 @@
|
||||
From b0124f3c4f2a353506621d387135ebea6b8c6609 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 29 Oct 2020 22:40:53 -0700
|
||||
Subject: [PATCH] crt: Add .file directive
|
||||
|
||||
Musl linked binaries come out to be not reproducible because
|
||||
absolute build path is seen in debug info of crti.o and crtn.o
|
||||
This is due to the fact that these objects are built from assembly
|
||||
source files and they are missing .file directive
|
||||
if we add .file <filename>.s in them then debug info encodes this
|
||||
value instead of absolute path in debug_line section
|
||||
|
||||
fixed in binutils 2.36 [1]
|
||||
|
||||
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=26822
|
||||
|
||||
Upstream-Status: OE-Specific [ Drop when upgrading binutils 2.36+ ]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
crt/aarch64/crti.s | 1 +
|
||||
crt/aarch64/crtn.s | 1 +
|
||||
crt/arm/crti.s | 1 +
|
||||
crt/arm/crtn.s | 1 +
|
||||
crt/i386/crti.s | 1 +
|
||||
crt/i386/crtn.s | 1 +
|
||||
crt/microblaze/crti.s | 1 +
|
||||
crt/microblaze/crtn.s | 1 +
|
||||
crt/mips/crti.s | 1 +
|
||||
crt/mips/crtn.s | 1 +
|
||||
crt/mips64/crti.s | 1 +
|
||||
crt/mips64/crtn.s | 1 +
|
||||
crt/mipsn32/crti.s | 1 +
|
||||
crt/mipsn32/crtn.s | 1 +
|
||||
crt/or1k/crti.s | 1 +
|
||||
crt/or1k/crtn.s | 1 +
|
||||
crt/powerpc/crti.s | 1 +
|
||||
crt/powerpc/crtn.s | 1 +
|
||||
crt/powerpc64/crti.s | 1 +
|
||||
crt/powerpc64/crtn.s | 1 +
|
||||
crt/s390x/crti.s | 1 +
|
||||
crt/s390x/crtn.s | 1 +
|
||||
crt/sh/crti.s | 1 +
|
||||
crt/sh/crtn.s | 1 +
|
||||
crt/x32/crti.s | 1 +
|
||||
crt/x32/crtn.s | 1 +
|
||||
crt/x86_64/crti.s | 1 +
|
||||
crt/x86_64/crtn.s | 1 +
|
||||
28 files changed, 28 insertions(+)
|
||||
|
||||
--- a/crt/aarch64/crti.s
|
||||
+++ b/crt/aarch64/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
.type _init,%function
|
||||
--- a/crt/aarch64/crtn.s
|
||||
+++ b/crt/aarch64/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
ldp x29,x30,[sp],#16
|
||||
ret
|
||||
--- a/crt/arm/crti.s
|
||||
+++ b/crt/arm/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.syntax unified
|
||||
|
||||
.section .init
|
||||
--- a/crt/arm/crtn.s
|
||||
+++ b/crt/arm/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.syntax unified
|
||||
|
||||
.section .init
|
||||
--- a/crt/i386/crti.s
|
||||
+++ b/crt/i386/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
_init:
|
||||
--- a/crt/i386/crtn.s
|
||||
+++ b/crt/i386/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
add $12,%esp
|
||||
ret
|
||||
--- a/crt/microblaze/crti.s
|
||||
+++ b/crt/microblaze/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
.align 2
|
||||
--- a/crt/microblaze/crtn.s
|
||||
+++ b/crt/microblaze/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
lwi r15, r1, 0
|
||||
rtsd r15, 8
|
||||
--- a/crt/mips/crti.s
|
||||
+++ b/crt/mips/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.set noreorder
|
||||
|
||||
.section .init
|
||||
--- a/crt/mips/crtn.s
|
||||
+++ b/crt/mips/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.set noreorder
|
||||
|
||||
.section .init
|
||||
--- a/crt/mips64/crti.s
|
||||
+++ b/crt/mips64/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.set noreorder
|
||||
|
||||
.section .init
|
||||
--- a/crt/mips64/crtn.s
|
||||
+++ b/crt/mips64/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.set noreorder
|
||||
|
||||
.section .init
|
||||
--- a/crt/mipsn32/crti.s
|
||||
+++ b/crt/mipsn32/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.set noreorder
|
||||
.section .init
|
||||
.global _init
|
||||
--- a/crt/mipsn32/crtn.s
|
||||
+++ b/crt/mipsn32/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.set noreorder
|
||||
.section .init
|
||||
ld $gp, 16($sp)
|
||||
--- a/crt/or1k/crti.s
|
||||
+++ b/crt/or1k/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
_init:
|
||||
--- a/crt/or1k/crtn.s
|
||||
+++ b/crt/or1k/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
l.lwz r9,0(r1)
|
||||
l.jr r9
|
||||
--- a/crt/powerpc/crti.s
|
||||
+++ b/crt/powerpc/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.align 2
|
||||
.global _init
|
||||
--- a/crt/powerpc/crtn.s
|
||||
+++ b/crt/powerpc/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
.align 2
|
||||
lwz 0,36(1)
|
||||
--- a/crt/powerpc64/crti.s
|
||||
+++ b/crt/powerpc64/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.align 2
|
||||
.global _init
|
||||
--- a/crt/powerpc64/crtn.s
|
||||
+++ b/crt/powerpc64/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
.align 2
|
||||
addi 1, 1, 32
|
||||
--- a/crt/s390x/crti.s
|
||||
+++ b/crt/s390x/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.align 2
|
||||
.global _init
|
||||
--- a/crt/s390x/crtn.s
|
||||
+++ b/crt/s390x/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
.align 2
|
||||
lmg %r14, %r15, 272(%r15)
|
||||
--- a/crt/sh/crti.s
|
||||
+++ b/crt/sh/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
.type _init, @function
|
||||
--- a/crt/sh/crtn.s
|
||||
+++ b/crt/sh/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
lds.l @r15+, pr
|
||||
mov.l @r15+, r14
|
||||
--- a/crt/x32/crti.s
|
||||
+++ b/crt/x32/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
_init:
|
||||
--- a/crt/x32/crtn.s
|
||||
+++ b/crt/x32/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
pop %rax
|
||||
ret
|
||||
--- a/crt/x86_64/crti.s
|
||||
+++ b/crt/x86_64/crti.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crti.s"
|
||||
.section .init
|
||||
.global _init
|
||||
_init:
|
||||
--- a/crt/x86_64/crtn.s
|
||||
+++ b/crt/x86_64/crtn.s
|
||||
@@ -1,3 +1,4 @@
|
||||
+.file "crtn.s"
|
||||
.section .init
|
||||
pop %rax
|
||||
ret
|
||||
@@ -4,9 +4,9 @@
|
||||
require musl.inc
|
||||
inherit linuxloader
|
||||
|
||||
SRCREV = "1e4204d522670a1d8b8ab85f1cfefa960547e8af"
|
||||
SRCREV = "85e0e3519655220688e757b9d5bfd314923548bd"
|
||||
|
||||
BASEVER = "1.2.1"
|
||||
BASEVER = "1.2.2"
|
||||
|
||||
PV = "${BASEVER}+git${SRCPV}"
|
||||
|
||||
@@ -15,7 +15,6 @@ PV = "${BASEVER}+git${SRCPV}"
|
||||
SRC_URI = "git://git.musl-libc.org/musl \
|
||||
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
|
||||
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
|
||||
file://0001-crt-Add-.file-directive.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -324,3 +324,8 @@ FILES_${PN}-terminfo-base = "\
|
||||
|
||||
RSUGGESTS_${PN}-libtinfo = "${PN}-terminfo"
|
||||
RRECOMMENDS_${PN}-libtinfo = "${PN}-terminfo-base"
|
||||
|
||||
# Putting terminfo into the sysroot adds around 2800 files to
|
||||
# each recipe specific sysroot. We can live without this, particularly
|
||||
# as many recipes may have native and target copies.
|
||||
SYSROOT_DIRS_remove = "${datadir}"
|
||||
|
||||
@@ -8,9 +8,9 @@ LIC_FILES_CHKSUM = " \
|
||||
file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
|
||||
file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
|
||||
file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
|
||||
file://COPYING.LIBGLOSS;md5=54b778d585443cd7fbfa1b47cbd63a89 \
|
||||
file://COPYING.LIBGLOSS;md5=7b7615de0ecda0ff8d705966ac3b8950 \
|
||||
file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
|
||||
file://COPYING.NEWLIB;md5=ac17c68751aad7a5298ce3f249121070 \
|
||||
file://COPYING.NEWLIB;md5=b8dda70da54e0efb49b1074f349d7749 \
|
||||
file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \
|
||||
file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \
|
||||
"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
DESCRIPTION = "boot image with UEFI shell and tools"
|
||||
COMPATIBLE_HOST_class-target='(i.86|x86_64).*'
|
||||
|
||||
# For this image recipe, only the wic format with a
|
||||
# single vfat partition makes sense. Because we have no
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user