New issue
Advanced search Search tips

Issue 795807 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 803661



Sign in to add a comment

CFI Linux (icall) bot red since Chromium started statically linking fontconfig

Project Member Reported by r...@chromium.org, Dec 18 2017

Issue description

First 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.
 

Comment 1 by r...@chromium.org, Dec 18 2017

Labels: -OS-Windows clang

Comment 2 by p...@chromium.org, Dec 18 2017

Cc: -vtsyrklevich@chromium.org p...@chromium.org
Owner: vtsyrklevich@chromium.org
No, we haven't deployed it.
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.

Comment 4 by p...@chromium.org, 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?
Status: Started (was: Assigned)
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.

Comment 6 by r...@chromium.org, 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.
Fix merged upstream in LLVM https://reviews.llvm.org/rL322139

Comment 8 by r...@chromium.org, 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!
That bot is a not a ToT bot and the change has not yet been picked up in the clang revision we're using.
Blockedon: 803661
Status: Fixed (was: Started)

Sign in to add a comment