FS#79292 - glibc 2.38 without --hash-style=both brakes EAC games
Attached to Project:
Arch Linux
Opened by Karl (berobad) - Thursday, 03 August 2023, 21:13 GMT
Last edited by freswa (frederik) - Friday, 04 August 2023, 16:00 GMT
Opened by Karl (berobad) - Thursday, 03 August 2023, 21:13 GMT
Last edited by freswa (frederik) - Friday, 04 August 2023, 16:00 GMT
|
Details
The DT_HASH patch was removed from 2.38 probably since it
didn't apply anymore.
But it seems that EasyAntiCheat still needs glibc to be build with "--hash-style=both" in the LDFLAGS to work. A quick test with a glibc 2.38 build with --hash-style=both does work for me, so just adding that to the LDFLAGS for glibc seems to be enough, no patch needed. |
This task depends upon
Closed by freswa (frederik)
Friday, 04 August 2023, 16:00 GMT
Reason for closing: Fixed
Additional comments about closing: glibc-2.38-2
Friday, 04 August 2023, 16:00 GMT
Reason for closing: Fixed
Additional comments about closing: glibc-2.38-2
I've tested a few EAC games an at those were fine.
Can confirm rebuilding package with "--hash-style=both" added to LDFLAGS fix the problem.
Look like not all the game developers have updated their EAC / EOS yet.
# We enable DT_GNU_HASH and DT_HASH for ld.so and DSOs to improve
# compatibility with applications that expect DT_HASH e.g. Epic Games
# Easy Anti-Cheat. This is temporary as applications move to
# supporting only DT_GNU_HASH. This was initially enabled in Fedora
# 37. We must use 'env' because it is the only way to pass, via the
# environment, two variables that set the initial Makefile values for
# LDFLAGS used to build shared objects and the dynamic loader.
env LDFLAGS.so="-Wl,--hash-style=both" \
LDFLAGS-rtld="-Wl,--hash-style=both" \
%make_build -r %{glibc_make_flags}
popd
https://archlinux.org/packages/core-testing/x86_64/glibc/download/
https://archlinux.org/packages/core-testing/x86_64/lib32-glibc/download/
Please report back if these work. Thanks!
Both working with glibc-2.38-2