Daniel P. Berrangé e9cfbd36c5 tests: fix stat mocking with Fedora rawhide
GLibC has a really complicated way of dealing with the 'stat' function
historically, which means our mocks in turn have to look at four
different possible functions to replace, stat, stat64, __xstat,
__xstat64.

In Fedora 33 and earlier:

 - libvirt.so links to __xstat64
 - libc.so library exports stat, stat64, __xstat, __xstat64
 - sys/stat.h header exposes stat and __xstat

In Fedora 34 rawhide:

 - libvirt.so links to stat64
 - libc.so library exports stat, stat64, __xstat, __xstat64
 - sys/stat.h header exposes stat

Historically we only looked at the exported symbols from libc.so to
decide which to mock.

In F34 though we must not consider __xstat / __xstat64 though because
they only existance for binary compatibility. Newly built binaries
won't reference them.

Thus we must introduce a header file check into our logic for deciding
which symbol to mock. We must ignore the __xstat / __xstat64 symbols
if they don't appear in the sys/stat.h header, even if they appear
in libc.so

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2020-10-29 19:52:07 +01:00
..
2020-10-20 14:48:02 -04:00
2020-06-10 14:00:38 +02:00
2019-10-15 11:25:25 +02:00
2020-07-10 09:40:58 +02:00
2020-07-10 09:40:58 +02:00
2020-02-24 23:15:50 +01:00
2019-10-15 11:25:25 +02:00
2020-10-20 14:48:02 -04:00
2020-10-20 14:48:02 -04:00
2019-10-15 11:25:25 +02:00
2020-06-10 14:00:38 +02:00
2019-10-15 11:25:25 +02:00
2019-10-15 11:25:25 +02:00
2019-10-15 11:25:25 +02:00
2020-02-24 23:15:50 +01:00
2020-10-14 11:23:30 +02:00