Skip to content

Commit

Permalink
tests: link tests using fabs against libm explicitly
Browse files Browse the repository at this point in the history
Some compiler wrappers like honggfuzz pass -fno-builtin explicitly
and because of that the tests where fabs is used fail to compile
with something like
```
FAILED: test-bus-marshal
...
/usr/bin/ld: test-bus-marshal.p/src_libsystemd_sd-bus_test-bus-marshal.c.o: undefined reference to symbol 'fabs@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
```

Fun fact: it took honggfuzz less than a minute to discover
GHSA-gmc7-pqv9-966m used by
systemd to compress/descompress some stuff.
  • Loading branch information
evverx authored and mrc0mmand committed May 29, 2022
1 parent 2581dbc commit f232c83
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/libsystemd/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,8 @@ tests += [
libglib,
libgobject,
libgio,
libdbus]],
libdbus,
libm]],

[files('sd-bus/test-bus-signature.c'),
[],
Expand Down
8 changes: 6 additions & 2 deletions src/test/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,9 @@ tests += [

[files('test-mkdir.c')],

[files('test-json.c')],
[files('test-json.c'),
[],
[libm]],

[files('test-modhex.c')],

Expand Down Expand Up @@ -275,7 +277,9 @@ tests += [

[files('test-parse-helpers.c')],

[files('test-parse-util.c')],
[files('test-parse-util.c'),
[],
[libm]],

[files('test-sysctl-util.c')],

Expand Down

0 comments on commit f232c83

Please sign in to comment.