New issue
Advanced search Search tips

Issue 809148 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Build-Toolchain



Sign in to add a comment

Fix libchrome to build with asan

Project Member Reported by manojgupta@chromium.org, Feb 5 2018

Issue description

Libchrome currently can't be built with asan.
This needs to be fixed to improve asan coverage on Chrome OS builds.
 
Owner: manojgupta@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/44c6a5f5cca65d73ccf028fd737be6218bc17eca

commit 44c6a5f5cca65d73ccf028fd737be6218bc17eca
Author: Manoj Gupta <manojgupta@google.com>
Date: Fri Feb 16 12:36:31 2018

libchrome: Pick an upstream fix for an asan error.

Backport an upstream fix related to an alignemnt issue reported by ASan.

CL Description:

commit 6f7ee4bf915be08d284f383940cab70f08d8740b
Author: Manoj Gupta <manojgupta@google.com>
Date:   Wed Feb 7 14:19:35 2018 +0000

    Fix an alignment issue reported by ASan.

    linux_dirent struct pointers are casted to buf[] array in a few
    functions. However buf[]'s alignment (4) doesn't match the
    alignment required by linux_dirent making ASan unhappy.

    Fix this by forcing buf[]'s alignment to match linux_dirent struct.

BUG= chromium:809148 
TEST=libchrome builds with the patch.

Change-Id: Ibaa17963182b368e3a51eba02b3a2e4521e353be
Reviewed-on: https://chromium-review.googlesource.com/920385
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/44c6a5f5cca65d73ccf028fd737be6218bc17eca/chromeos-base/libchrome/libchrome-395517.ebuild
[rename] https://crrev.com/44c6a5f5cca65d73ccf028fd737be6218bc17eca/chromeos-base/libchrome/libchrome-395517-r17.ebuild
[add] https://crrev.com/44c6a5f5cca65d73ccf028fd737be6218bc17eca/chromeos-base/libchrome/files/libchrome-395517-Base-DirReader-Alignment.patch

Project Member

Comment 3 by bugdroid1@chromium.org, Feb 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/588b89ee51c8cb6bb0dc393cc59a9cf1af50ea87

commit 588b89ee51c8cb6bb0dc393cc59a9cf1af50ea87
Author: Manoj Gupta <manojgupta@google.com>
Date: Sat Feb 17 11:39:53 2018

Build more packages with asan.

Packages that use libchrome need to be built
with asan flags once libchrome is built with asan.

Add IUSE="asan" and call asan-setup-env in trousers.

BUG= chromium:809148 
TEST=asan use flag passed to trousers.

Change-Id: I1eecf64a28e32d8e5866745a217b731af8cef717
Reviewed-on: https://chromium-review.googlesource.com/924244
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/588b89ee51c8cb6bb0dc393cc59a9cf1af50ea87/app-crypt/trousers/trousers-9999.ebuild

Project Member

Comment 4 by bugdroid1@chromium.org, Feb 18 2018

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 18 2018

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/aosp/platform/external/libchrome/+/876a619fbd629f047eec163321fb770cad3e3ea5

commit 876a619fbd629f047eec163321fb770cad3e3ea5
Author: Manoj Gupta <manojgupta@google.com>
Date: Wed Feb 21 02:16:36 2018

libchrome: Fix for building with asan.

Introduce USE_ASAN variable which should be set by libchrome ebuild.
Do not use the linker flags "-z,defs" when USE_ASAN is set since
it is not supported by address sanitizer.

BUG= chromium:809148 
TEST=libchrome builds with asan.

Change-Id: I01565d5912cf8988213993110e606aa67a516781
Reviewed-on: https://chromium-review.googlesource.com/927104
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/876a619fbd629f047eec163321fb770cad3e3ea5/SConstruct

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/22f7f5fc94f65efee63d708abe744a03fa709515

commit 22f7f5fc94f65efee63d708abe744a03fa709515
Author: Manoj Gupta <manojgupta@google.com>
Date: Thu Feb 22 06:26:37 2018

libchrome: Build with asan enabled.

Backport fix to SConstruct in https://crrev.com/c/927104.
Backport is via a patch since upstream libchrome repo is at r456626.

BUG= chromium:809148 
TEST=libchrome builds with USE="asan".

Change-Id: I9e753f44f456ffd522b61bd0d721648b4c6b4469
Reviewed-on: https://chromium-review.googlesource.com/927444
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[rename] https://crrev.com/22f7f5fc94f65efee63d708abe744a03fa709515/chromeos-base/libchrome/libchrome-395517-r19.ebuild
[modify] https://crrev.com/22f7f5fc94f65efee63d708abe744a03fa709515/chromeos-base/libchrome/libchrome-395517.ebuild
[add] https://crrev.com/22f7f5fc94f65efee63d708abe744a03fa709515/chromeos-base/libchrome/files/libchrome-395517-SConstruct-asan-build.patch

Project Member

Comment 8 by bugdroid1@chromium.org, Feb 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/0e3af07a5a61c69b20bc824c85b4dff281bf8fee

commit 0e3af07a5a61c69b20bc824c85b4dff281bf8fee
Author: Manoj Gupta <manojgupta@google.com>
Date: Thu Feb 22 06:26:38 2018

asan: Restore container overflow checks.

Container overflow checks can be used after libchrome is
built with ASan flags.

CQ-DEPEND=CL:927444

BUG= chromium:809148 
TEST=asan build is fine.

Change-Id: I6a15b69b187253b8b8343c14575b65cc3770637f
Reviewed-on: https://chromium-review.googlesource.com/927606
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/0e3af07a5a61c69b20bc824c85b4dff281bf8fee/profiles/base/profile.bashrc

Status: Verified (was: Assigned)
Labels: libcxx libcxx_asan

Sign in to add a comment