Re: Chromium failing on aarch64 in rawhide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux