Re: Chromium failing on aarch64 in rawhide

2020-07-31 Thread Jeff Law
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
> subsw2,  w2,  #2
> prfmpldl1strm, [x0]
> prfmpldl1strm, [x0,  x1]
> add x0,  x0,  x1,  lsl #1
> b.gtX(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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


Chromium failing on aarch64 in rawhide

2020-07-31 Thread Tom Callaway
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
subsw2,  w2,  #2
prfmpldl1strm, [x0]
prfmpldl1strm, [x0,  x1]
add x0,  x0,  x1,  lsl #1
b.gtX(ff_prefetch_aarch64)
ret
endfunc

Did something change in rawhide that might be breaking this?

Thanks in advance,
Tom
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org