build: fix macOS --enable-modules build
Apple's nm implementation includes empty lines in the output that are not
found in GNU binutils. This confuses scripts/undefsym.py, though it did
not confuse the scripts/undefsym.sh script that it replaced. To fix
this, ignore lines that do not have two fields.
Reported-by: Emmanuel Blot <eblot.ml@gmail.com>
Tested-by: Emmanuel Blot <eblot.ml@gmail.com>
Fixes: 604f3e4e90
("meson: Convert undefsym.sh to undefsym.py", 2020-09-08)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4c5b97bfd0
commit
da0dfe251d
@ -40,7 +40,7 @@ macos_xcode_task:
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --extra-cflags='-Wno-error=deprecated-declarations'
|
||||
- ../configure --extra-cflags='-Wno-error=deprecated-declarations' --enable-modules
|
||||
--enable-werror --cc=clang || { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||
- gmake -j$(sysctl -n hw.ncpu)
|
||||
- gmake check V=1
|
||||
|
@ -15,12 +15,11 @@ def filter_lines_set(stdout, from_staticlib):
|
||||
linesSet = set()
|
||||
for line in stdout.splitlines():
|
||||
tokens = line.split(b' ')
|
||||
if len(tokens) >= 1:
|
||||
if len(tokens) > 1:
|
||||
if from_staticlib and tokens[1] == b'U':
|
||||
continue
|
||||
if not from_staticlib and tokens[1] != b'U':
|
||||
continue
|
||||
if len(tokens) >= 2:
|
||||
if from_staticlib and tokens[1] == b'U':
|
||||
continue
|
||||
if not from_staticlib and tokens[1] != b'U':
|
||||
continue
|
||||
new_line = b'-Wl,-u,' + tokens[0]
|
||||
if not new_line in linesSet:
|
||||
linesSet.add(new_line)
|
||||
|
Loading…
Reference in New Issue
Block a user