On Fri, 2020-07-31 at 13:26 -0400, Tom Callaway wrote: > This one is odd. Chromium is failing on aarch64 in rawhide, on a bit of ffmpeg code that has not changed in _years_. > > [clear_key_cdm:13/13] g++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-O2 -Wl,--gc-sections -rdynamic -o "./libclearkeycdm.so" -Wl,-soname="libclearkeycdm.so" @"./libclearkeycdm.so.rsp" > FAILED: libclearkeycdm.so > g++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-O2 -Wl,--gc-sections -rdynamic -o "./libclearkeycdm.so" -Wl,-soname="libclearkeycdm.so" @"./libclearkeycdm.so.rsp" > obj/third_party/ffmpeg/ffmpeg_internal/videodsp.o: in function `ff_prefetch_aarch64': > (.text+0x10): relocation truncated to fit: R_AARCH64_CONDBR19 against symbol `ff_prefetch_aarch64' defined in .text section in obj/third_party/ffmpeg/ffmpeg_internal/videodsp.o > collect2: error: ld returned 1 exit status > ninja: build stopped: subcommand failed. > error: Bad exit status from /var/tmp/rpm-tmp.zGpENj (%build) > RPM build errors: > Bad exit status from /var/tmp/rpm-tmp.zGpENj (%build) > Child return code was: 1 > EXCEPTION: [Error()] > > The function it references is defined in libavcodec/aarch64/videodsp.S: > > function ff_prefetch_aarch64, export=1 > subs w2, w2, #2 > prfm pldl1strm, [x0] > prfm pldl1strm, [x0, x1] > add x0, x0, x1, lsl #1 > b.gt X(ff_prefetch_aarch64) > ret > endfunc > > Did something change in rawhide that might be breaking this? Lots has changed ;-) What's weird is this looks like conditional self recursion and I don't see how we'd be getting an out of range branch. But then again, it's not clear what macro magic might be happening to turn that into actual assembler code and how that might also be interacting with the compiler. More seriously though, this could be LTO, or the branch tracking bits for aarch64 or something else entirely. I'd try a non-LTO build first to see if that helps. The standard way to turn LTO off is %define _lto_cflags %{nil} Jeff _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx