goldberg emulator does not compile with glibc 2.33
glibc in version 2.33 removed definitions of __xstat, __xstat64, __xmknod and others from sys/stat.h which causes goldberg emu compilation to fail:
In file included from dll/wrap.cpp:29:
In file included from dll/dll.h:18:
In file included from dll/steam_client.h:20:
In file included from dll/steam_friends.h:22:
dll/../overlay_experimental/steam_overlay.h:185:31: warning: non-void function does not return a value [-Wreturn-type]
bool ShowOverlay() const {}
^
In file included from dll/wrap.cpp:29:
In file included from dll/dll.h:18:
In file included from dll/steam_client.h:43:
dll/steam_networking_utils.h:512:13: warning: enumeration values 'k_ESteamNetworkingIdentityType_Invalid' and 'k_ESteamNetworkingIdentityType__Force32bit' not handled in switch [-Wswitch]
switch (identity.m_eType)
^
dll/wrap.cpp:293:18: error: use of undeclared identifier '__xstat'
int result = __xstat(ver, path_lowercased, stat_buf);
^
dll/wrap.cpp:308:18: error: use of undeclared identifier '__lxstat'
int result = __lxstat(ver, path_lowercased, stat_buf);
^
dll/wrap.cpp:353:18: error: use of undeclared identifier '__xstat64'
int result = __xstat64(ver, path_lowercased, stat_buf);
^
dll/wrap.cpp:363:18: error: use of undeclared identifier '__lxstat64'
int result = __lxstat64(ver, path_lowercased, stat_buf);
^
dll/wrap.cpp:451:18: error: use of undeclared identifier '__xmknod'
int result = __xmknod(1, path_lowercased, mode, &dev);
^
2 warnings and 5 errors generated.
make: *** [Makefile:44: dll/wrap.o] Error 1
make: *** Waiting for unfinished jobs....
2 warnings generated.
Full log attached. Tried on Gentoo and Ubuntu 21.10.build.log.gz