Bug/cctools syscall (#4440)
* Handle missing defn of __NR_memfd_create Generally SYS_foo is defined to __NR_foo (in sys/syscall.h) which is then defined to a syscall number (in asm/unistd_64.h). Certain CentOS systems have SYS_memfd_create defined to __NR_memfd_create but are missing the second definition. This is a belt and suspenders solution to the problem. See [this post][syscall] for a nice general description of how these parts fit together. [syscall]: https://www.uninformativ.de/blog/postings/2017-02-11/0/POSTING-en.html * Avoid flake8 warning
This commit is contained in:
parent
8018f6cdf6
commit
29090a527a
@ -44,6 +44,18 @@ class Cctools(AutotoolsPackage):
|
|||||||
# depends_on('xrootd')
|
# depends_on('xrootd')
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
|
|
||||||
|
# Generally SYS_foo is defined to __NR_foo (sys/syscall.h) which
|
||||||
|
# is then defined to a syscall number (asm/unistd_64.h). Certain
|
||||||
|
# CentOS systems have SYS_memfd_create defined to
|
||||||
|
# __NR_memfd_create but are missing the second definition.
|
||||||
|
# This is a belt and suspenders solution to the problem.
|
||||||
|
def patch(self):
|
||||||
|
before = '#if defined(__linux__) && defined(SYS_memfd_create)'
|
||||||
|
after = '#if defined(__linux__) && defined(SYS_memfd_create) && defined(__NR_memfd_create)' # noqa: E501
|
||||||
|
f = 'dttools/src/memfdexe.c'
|
||||||
|
kwargs = {'ignore_absent': False, 'backup': True, 'string': True}
|
||||||
|
filter_file(before, after, f, **kwargs)
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = []
|
args = []
|
||||||
# disable these bits
|
# disable these bits
|
||||||
|
Loading…
Reference in New Issue
Block a user