New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 838678 link

Starred by 3 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

coreboot-sdk does not builds with newer glibc

Project Member Reported by yunlian@chromium.org, May 1 2018

Issue description

With glibc 2.27, I got some errors when building coreboot-sdk.

.o -MD -MP -MF _gcov_ior_profiler.dep -DL_gcov_ior_profiler -c ../../../gcc-6.3.0/libgcc/libgcov-profiler.c
coreboot-sdk-0.0.1-r65: In file included from ../../../gcc-6.3.0/libgcc/unwind-dw2.c:401:0:
coreboot-sdk-0.0.1-r65: ./md-unwind-support.h: In function 'x86_64_fallback_frame_state':
coreboot-sdk-0.0.1-r65: ./md-unwind-support.h:65:47: error: dereferencing pointer to incomplete type 'struct ucontext'
coreboot-sdk-0.0.1-r65:        sc = (struct sigcontext *) (void *) &uc_->uc_mcontext;
coreboot-sdk-0.0.1-r65:                                                ^~


We need to cherry pick one gcc patch to fix it.

commit 14c2f22a1877f6b60a2f7c2f83ffb032759456a6
Author: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Jul 4 10:22:56 2017 +0000

 Use ucontext_t not struct ucontext in linux-unwind.h files.


To reproduce it.
cherry pick this CL
https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1022974

and run sudo emerge glibc; sudo emerge coreboot-sdk

 
Project Member

Comment 1 by bugdroid1@chromium.org, May 8 2018

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

commit 0dc8b785d5296dcf174fccf9edac77bacd323d08
Author: Yunlian Jiang <yunlian@google.com>
Date: Tue May 08 03:45:41 2018

coreboot-sdk: add a gcc patch

This backports an upstream gcc patch to coreboot-sdk gcc so that
it can build with glibc-2.26.
Summary of the patch.
commit 14c2f22a1877f6b60a2f7c2f83ffb032759456a6
Author: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Jul 4 10:22:56 2017 +0000

    Use ucontext_t not struct ucontext in linux-unwind.h files.

    Current glibc no longer gives the ucontext_t type the tag struct
    ucontext, to conform with POSIX namespace rules.  This requires
    various linux-unwind.h files in libgcc, that were previously using
    struct ucontext, to be fixed to use ucontext_t instead.  This is
    similar to the removal of the struct siginfo tag from siginfo_t some
    years ago.

BUG=chromium:838678
TEST=coreboot-sdk builds with new glibc.

Change-Id: I5b47007d53ee99f9d8e636e83c66e2ea62d7b198
Reviewed-on: https://chromium-review.googlesource.com/1038566
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>

[add] https://crrev.com/0dc8b785d5296dcf174fccf9edac77bacd323d08/dev-embedded/coreboot-sdk/files/coreboot-sdk-gcc-ucontext.patch
[modify] https://crrev.com/0dc8b785d5296dcf174fccf9edac77bacd323d08/dev-embedded/coreboot-sdk/coreboot-sdk-9999.ebuild

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 19

Labels: merge-merged-firmware-cr50-9308.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c25e0310e640405c0aa8c0bcdaf6e9dd66240c53

commit c25e0310e640405c0aa8c0bcdaf6e9dd66240c53
Author: Yunlian Jiang <yunlian@google.com>
Date: Fri Oct 19 04:35:55 2018

coreboot-sdk: add a gcc patch

This backports an upstream gcc patch to coreboot-sdk gcc so that
it can build with glibc-2.26.
Summary of the patch.
commit 14c2f22a1877f6b60a2f7c2f83ffb032759456a6
Author: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Jul 4 10:22:56 2017 +0000

    Use ucontext_t not struct ucontext in linux-unwind.h files.

    Current glibc no longer gives the ucontext_t type the tag struct
    ucontext, to conform with POSIX namespace rules.  This requires
    various linux-unwind.h files in libgcc, that were previously using
    struct ucontext, to be fixed to use ucontext_t instead.  This is
    similar to the removal of the struct siginfo tag from siginfo_t some
    years ago.

BUG=chromium:838678
TEST=coreboot-sdk builds with new glibc.

Change-Id: I5b47007d53ee99f9d8e636e83c66e2ea62d7b198
Reviewed-on: https://chromium-review.googlesource.com/1038566
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
(cherry picked from commit 0dc8b785d5296dcf174fccf9edac77bacd323d08)
Reviewed-on: https://chromium-review.googlesource.com/c/1273712
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>

[add] https://crrev.com/c25e0310e640405c0aa8c0bcdaf6e9dd66240c53/dev-embedded/coreboot-sdk/files/coreboot-sdk-gcc-ucontext.patch
[modify] https://crrev.com/c25e0310e640405c0aa8c0bcdaf6e9dd66240c53/dev-embedded/coreboot-sdk/coreboot-sdk-9999.ebuild

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 7

Labels: merge-merged-firmware-cr50-mp-release-9308.87.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3d0c2450a15b935a66ca1144b37ca7f2a3223816

commit 3d0c2450a15b935a66ca1144b37ca7f2a3223816
Author: Yunlian Jiang <yunlian@google.com>
Date: Fri Dec 07 00:18:16 2018

coreboot-sdk: add a gcc patch

This backports an upstream gcc patch to coreboot-sdk gcc so that
it can build with glibc-2.26.
Summary of the patch.
commit 14c2f22a1877f6b60a2f7c2f83ffb032759456a6
Author: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Jul 4 10:22:56 2017 +0000

    Use ucontext_t not struct ucontext in linux-unwind.h files.

    Current glibc no longer gives the ucontext_t type the tag struct
    ucontext, to conform with POSIX namespace rules.  This requires
    various linux-unwind.h files in libgcc, that were previously using
    struct ucontext, to be fixed to use ucontext_t instead.  This is
    similar to the removal of the struct siginfo tag from siginfo_t some
    years ago.

BUG=chromium:838678
TEST=coreboot-sdk builds with new glibc.

Change-Id: I5b47007d53ee99f9d8e636e83c66e2ea62d7b198
Reviewed-on: https://chromium-review.googlesource.com/1038566
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
(cherry picked from commit 0dc8b785d5296dcf174fccf9edac77bacd323d08)
Reviewed-on: https://chromium-review.googlesource.com/c/1273712
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
(cherry picked from commit c25e0310e640405c0aa8c0bcdaf6e9dd66240c53)
Reviewed-on: https://chromium-review.googlesource.com/c/1367025

[add] https://crrev.com/3d0c2450a15b935a66ca1144b37ca7f2a3223816/dev-embedded/coreboot-sdk/files/coreboot-sdk-gcc-ucontext.patch
[modify] https://crrev.com/3d0c2450a15b935a66ca1144b37ca7f2a3223816/dev-embedded/coreboot-sdk/coreboot-sdk-9999.ebuild

Sign in to add a comment