CFI Linux (icall) bot red since Chromium started statically linking fontconfig |
|||||
Issue descriptionFirst failing build: https://ci.chromium.org/buildbot/chromium.clang/CFI%20Linux%20%28icall%29/2332 I suspect this is the relevant CL: https://chromium-review.googlesource.com/c/chromium/src/+/826403 The error message from LLVM: [4473/12092] LINK ./gfx_unittests FAILED: gfx_unittests Alias must point to a definition i32 (%struct._FcConfig*)* @FcConfigSetCurrent Alias must point to a definition i32 (%struct._FcConfig*)* @FcConfigBuildFonts LLVM ERROR: Broken module found, compilation aborted! This is probably an LLVM CFI icall bug involving aliases. This fontconfig header looks pretty scary: https://cs.chromium.org/chromium/src/third_party/fontconfig/include/src/fcaliastail.h My understanding is that we haven't deployed icall CFI yet, so we don't need to revert the change.
,
Dec 18 2017
No, we haven't deployed it.
,
Dec 18 2017
Should we add a suppression in the meantime? If CFI is detecting a bug in fontconfig and wasn't before, I think it's just because we started doing in-tree fontconfig builds so we're actually instrumenting fontconfig with CFI now.
,
Dec 18 2017
This looks like a bug in CFI itself rather than a bug in fontconfig. I'm not sure whether blacklisting fontconfig would actually help, but I suppose it's possible. Vlad, can you please take a look?
,
Dec 19 2017
This is happening because LowerTypeTests renames a function F to F.cfi and the definition the alias points to is replaced with a stub declaration until the definition for F is emitted at thin-link time. I'm looking into how to best fix it.
,
Dec 21 2017
It looks like the fontconfig change was reverted, so the bot went green: https://ci.chromium.org/buildbot/chromium.clang/CFI%20Linux%20%28icall%29/2813 We should still get on top of this.
,
Jan 10 2018
Fix merged upstream in LLVM https://reviews.llvm.org/rL322139
,
Jan 12 2018
The bot picked up that revision, but it's still complaining: [3019/13912] LINK ./gfx_unittests FAILED: gfx_unittests ... Alias must point to a definition i32 (%struct._FcConfig*)* @FcConfigSetCurrent Alias must point to a definition i32 (%struct._FcConfig*)* @FcConfigBuildFonts LLVM ERROR: Broken module found, compilation aborted!
,
Jan 12 2018
That bot is a not a ToT bot and the change has not yet been picked up in the clang revision we're using.
,
Jan 18 2018
,
Mar 14 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by r...@chromium.org
, Dec 18 2017