Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2
rpmlint-tests
0001-Backport-d8f423b575e8be387d33bc3af176baf97...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Backport-d8f423b575e8be387d33bc3af176baf978efacbb.patch of Package rpmlint-tests
From 790482dbc83f6cd67d29697ce6904dfc962bf576 Mon Sep 17 00:00:00 2001 From: marxin <mliska@suse.cz> Date: Wed, 2 Jan 2019 13:22:40 +0100 Subject: [PATCH] Backport d8f423b575e8be387d33bc3af176baf978efacbb: Come up with lto-bytecode check for ELF files. --- BinariesCheck.py | 14 +++++++++++++- .../libreiserfscore-devel-3.6.27-0.x86_64.rpm | Bin 0 -> 1005964 bytes test/test_binaries.py | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 test/binary/libreiserfscore-devel-3.6.27-0.x86_64.rpm Index: rpmlint-rpmlint-1.10/BinariesCheck.py =================================================================== --- rpmlint-rpmlint-1.10.orig/BinariesCheck.py +++ rpmlint-rpmlint-1.10/BinariesCheck.py @@ -71,6 +71,7 @@ class BinaryInfo(object): chdir_call_regex = create_regexp_call('chdir') mktemp_call_regex = create_regexp_call('mktemp') + lto_section_name_prefix = '.gnu.lto_.' def __init__(self, pkg, path, file, is_ar, is_shlib): self.readelf_error = False @@ -90,6 +91,7 @@ class BinaryInfo(object): self.debuginfo = False self.symtab = False self.tail = '' + self.lto_sections = False self.setgid = False self.setuid = False @@ -116,6 +118,9 @@ class BinaryInfo(object): if not res[0]: lines = res[1].splitlines() for l in lines: + if BinaryInfo.lto_section_name_prefix in l: + self.lto_sections = True + r = BinaryInfo.needed_regex.search(l) if r: self.needed.append(r.group(1)) @@ -513,6 +518,9 @@ class BinariesCheck(AbstractCheck.Abstra for ec in bin_info.exit_calls: printWarning(pkg, 'shared-lib-calls-exit', fname, ec) + if bin_info.lto_sections: + printError(pkg, 'lto-bytecode', fname) + for ec in bin_info.forbidden_calls: printWarning(pkg, ec, fname, BinaryInfo.forbidden_functions[ec]['f_name']) @@ -835,7 +843,11 @@ upstream to have this issue fixed.''', '''This executable should be stripped from debugging symbols, in order to take less space and be loaded faster. This is usually done automatically at buildtime by rpm. Check the build logs and the permission on the file (some -implementations only strip if the permission is 0755).''' +implementations only strip if the permission is 0755).''', + +'lto-bytecode', +'''This executable contains a LTO section. LTO bytecode is not portable +and should not be distributed in static libraries or e.g. Python modules.''', ) # BinariesCheck.py ends here
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor