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

Issue 895195 link

Starred by 2 users

Issue metadata

Status: Available
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Build-Toolchain



Sign in to add a comment

memtest86+ does not built with clang

Project Member Reported by sjg@chromium.org, Oct 15

Issue description

I created an ebuild for this package here:

https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1279392

In patchset 1 I added a patch (0001...) which fixes building for clang. Is it possible to make clang work with this package without a patch?

 
can you give more details on what is the error you are getting with clang?
If it is because of a warning, clang is usually pretty good at this, so should the fix be in the package instead of clang?


Cc: llozano@chromium.org
See CL here:

https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1279392

Patch 1 adjusts the package to work witgout the errors. One is using

goto *address

The other is that memset() appears to be missing.


I am not sure how to proceed at this point.
Labels: OS-Chrome
Looks like a patch for clang is what we are going to have :-( unless the fixes can made to memtest86+ upstream version.

goto *address: 
Unlikely that clang upstream would agree to accept this syntax. An explicit call to function pointer void* () should be used.

missing memset: Seems like memtest86 uses "-ffreestanding". In ffreestanding, the implementation is supposed to provide memcpy and friends [1], [2]. So memsetx86+ is just getting lucky that GCC does not emit memset().

[1] https://gcc.gnu.org/onlinedocs/gcc/Standards.html
[2] http://cs107e.github.io/guides/gcc/
OK, then I think we should go ahead with my current CL (which forces it to use gcc). I will use this bug to track upstreaming a change to memtest86.

Thank you very much for helping with this.
Owner: sjg@chromium.org
Status: Available (was: Untriaged)
Cc: martinroth@chromium.org
OK, well we've given up on that now and want to get memtest86plus going, since apparently the other one is obsolete.

Unfortunately memtest86plus does not build with either our old 4.9 gcc or with clang.

I'm going to have to wait for someone to figure something out here...
Owner: martinroth@chromium.org
Martin, let me know how to proceed
From Martin:

Can we just set the ebuild to use the coreboot toolchain?
Isn't there a use flag for that?
Sorry, I saw paul's comment about refactoring for clang and assumed.

I found /opt/coreboot-sdk so uploaded a CL:

https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1290190
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 26

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

commit b7201192e319f57ba1f823b78ec327ca9568e782
Author: Simon Glass <sjg@chromium.org>
Date: Fri Oct 26 07:41:21 2018

chromeos-bootimage: Drop cb_legacy_tianocore

This USE flag is not used anymore. It is replaced by USE="altfw tianocore"
which achieves a similar effect. To run tianocore, press '2' when at the
altfw menu.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: Ied0a34f37cdc577a6020300a4dfd41879cf450cd
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292990
Reviewed-by: Furquan Shaikh <furquan@chromium.org>

[rename] https://crrev.com/b7201192e319f57ba1f823b78ec327ca9568e782/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r38.ebuild
[modify] https://crrev.com/b7201192e319f57ba1f823b78ec327ca9568e782/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 30

Labels: merge-merged-firmware-grunt-11031.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/9d362407ea5120f0625f6e90657242390bc2767d

commit 9d362407ea5120f0625f6e90657242390bc2767d
Author: Simon Glass <sjg@chromium.org>
Date: Tue Oct 30 22:12:30 2018

chromeos-bootimage: Drop cb_legacy_tianocore

This USE flag is not used anymore. It is replaced by USE="altfw tianocore"
which achieves a similar effect. To run tianocore, press '2' when at the
altfw menu.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: Ied0a34f37cdc577a6020300a4dfd41879cf450cd
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292990
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
(cherry picked from commit b7201192e319f57ba1f823b78ec327ca9568e782)
Reviewed-on: https://chromium-review.googlesource.com/c/1308896
Reviewed-by: Martin Roth <martinroth@chromium.org>
Tested-by: Martin Roth <martinroth@chromium.org>

[add] https://crrev.com/9d362407ea5120f0625f6e90657242390bc2767d/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r38.ebuild
[modify] https://crrev.com/9d362407ea5120f0625f6e90657242390bc2767d/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 8

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

commit 20374db29b677489428e6e744fbb297ab4e8a2ea
Author: Simon Glass <sjg@chromium.org>
Date: Thu Nov 08 04:27:24 2018

chromeos-seabios: Add altfw support

When building seabios to use as alternative firmware we don't want to put
things in a CBFS. Add a USE flag to support this.

BUG=chromium:895195
TEST=emerge-grunt chromeos-seabios
$  find /build/grunt/firmware/seabios/
/build/grunt/firmware/seabios/
/build/grunt/firmware/seabios/seabios.elf
/build/grunt/firmware/seabios/seabios.serial.elf
/build/grunt/firmware/seabios/etc
/build/grunt/firmware/seabios/etc/boot-menu-key
/build/grunt/firmware/seabios/etc/boot-menu-message
/build/grunt/firmware/seabios/etc/boot-menu-wait
/build/grunt/firmware/seabios/bootorder
/build/grunt/firmware/seabios/seavgabios.rom
/build/grunt/firmware/seabios/links

Change-Id: Ib9066be0331474708cc24351ed938c0426001a5e
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292991

[modify] https://crrev.com/20374db29b677489428e6e744fbb297ab4e8a2ea/sys-boot/chromeos-seabios/chromeos-seabios-9999.ebuild

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 14

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

commit 50fd856d90223a150ce16f26e158ac011eeff3fc
Author: Simon Glass <sjg@chromium.org>
Date: Wed Nov 14 19:30:34 2018

chromeos-seabios: Add altfw support

When building seabios to use as alternative firmware we don't want to put
things in a CBFS. Add a USE flag to support this.

BUG=chromium:895195
TEST=emerge-grunt chromeos-seabios
$  find /build/grunt/firmware/seabios/
/build/grunt/firmware/seabios/
/build/grunt/firmware/seabios/seabios.elf
/build/grunt/firmware/seabios/seabios.serial.elf
/build/grunt/firmware/seabios/etc
/build/grunt/firmware/seabios/etc/boot-menu-key
/build/grunt/firmware/seabios/etc/boot-menu-message
/build/grunt/firmware/seabios/etc/boot-menu-wait
/build/grunt/firmware/seabios/bootorder
/build/grunt/firmware/seabios/seavgabios.rom
/build/grunt/firmware/seabios/links

Change-Id: Ib9066be0331474708cc24351ed938c0426001a5e
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292991
Reviewed-on: https://chromium-review.googlesource.com/c/1335684
Reviewed-by: Martin Roth <martinroth@chromium.org>
Tested-by: Martin Roth <martinroth@chromium.org>

[modify] https://crrev.com/50fd856d90223a150ce16f26e158ac011eeff3fc/sys-boot/chromeos-seabios/chromeos-seabios-9999.ebuild

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 18

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

commit 6135b39e8341f0a9b383f0bb08373b4ca3da261b
Author: Simon Glass <sjg@chromium.org>
Date: Sun Nov 18 00:41:38 2018

chromeos-bootimage: Drop cb_legacy_seabios

This USE flag is not used anymore. It is replaced by USE="altfw seabios"
which achieves a similar effect. To run SeaBIOS, press '3' when at the
altfw menu.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: I5f9e87208b615565ba084202916e1a21cf6fae65
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292993
Commit-Ready: Duncan Laurie <dlaurie@google.com>

[modify] https://crrev.com/6135b39e8341f0a9b383f0bb08373b4ca3da261b/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild
[rename] https://crrev.com/6135b39e8341f0a9b383f0bb08373b4ca3da261b/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r44.ebuild

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 18

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

commit 211ead2065dc4ace43894bd57500a49305e764f1
Author: Simon Glass <sjg@chromium.org>
Date: Sun Nov 18 00:41:39 2018

chromeos-bootimage: Drop cb_legacy_uboot

This USE flag is not used anymore. It is replaced by USE="altfw u-boot"
which achieves a similar effect. To run U-Boot, press '1' when at the
altfw menu.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: Ie66c2955cc2f20da0e54267bda55b94f4314bab0
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292994
Commit-Ready: Duncan Laurie <dlaurie@google.com>

[modify] https://crrev.com/211ead2065dc4ace43894bd57500a49305e764f1/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild
[rename] https://crrev.com/211ead2065dc4ace43894bd57500a49305e764f1/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r45.ebuild

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 18

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

commit dee9763ef82b73da85c5709ad4b4a520afd6ae61
Author: Simon Glass <sjg@chromium.org>
Date: Sun Nov 18 00:41:39 2018

chromeos-bootimage: Drop legacy payload logic

This is not used anymore. We should use altfw instead which is more
flexible:

   - It allows multiple bootloaders
   - It provides a menu for the user

It also provides a path to the word 'legacy' which is clearly a misnomer
since some bootloaders are still widely used.

The signing feature appears to not be implemented. It can be implemented
using altfw instead.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: Ia9e7cc6f7cbc4330c0172e4725b8777152604c73
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292995
Commit-Ready: Duncan Laurie <dlaurie@google.com>
Tested-by: Duncan Laurie <dlaurie@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>

[modify] https://crrev.com/dee9763ef82b73da85c5709ad4b4a520afd6ae61/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild
[rename] https://crrev.com/dee9763ef82b73da85c5709ad4b4a520afd6ae61/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r46.ebuild

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 28

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

commit c18d69a87962c0f7955c730c0c57b097b4dd00e4
Author: Simon Glass <sjg@chromium.org>
Date: Wed Nov 28 00:01:53 2018

chromeos-bootimage: Drop cb_legacy_seabios

This USE flag is not used anymore. It is replaced by USE="altfw seabios"
which achieves a similar effect. To run SeaBIOS, press '3' when at the
altfw menu.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: I5f9e87208b615565ba084202916e1a21cf6fae65
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292993
Commit-Ready: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/1352638
Reviewed-by: Martin Roth <martinroth@chromium.org>
Tested-by: Martin Roth <martinroth@chromium.org>

[modify] https://crrev.com/c18d69a87962c0f7955c730c0c57b097b4dd00e4/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild
[rename] https://crrev.com/c18d69a87962c0f7955c730c0c57b097b4dd00e4/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r44.ebuild

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 28

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

commit e86d593c64042099ab03370b04e6c3384d9d2278
Author: Simon Glass <sjg@chromium.org>
Date: Wed Nov 28 00:02:01 2018

chromeos-bootimage: Drop cb_legacy_uboot

This USE flag is not used anymore. It is replaced by USE="altfw u-boot"
which achieves a similar effect. To run U-Boot, press '1' when at the
altfw menu.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: Ie66c2955cc2f20da0e54267bda55b94f4314bab0
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292994
Commit-Ready: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/1352639
Reviewed-by: Martin Roth <martinroth@chromium.org>
Tested-by: Martin Roth <martinroth@chromium.org>

[modify] https://crrev.com/e86d593c64042099ab03370b04e6c3384d9d2278/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild
[rename] https://crrev.com/e86d593c64042099ab03370b04e6c3384d9d2278/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r45.ebuild

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 28

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

commit 14f4d0d45f4505d9239c96131b941d566d820ab5
Author: Simon Glass <sjg@chromium.org>
Date: Wed Nov 28 00:02:10 2018

chromeos-bootimage: Drop legacy payload logic

This is not used anymore. We should use altfw instead which is more
flexible:

   - It allows multiple bootloaders
   - It provides a menu for the user

It also provides a path to the word 'legacy' which is clearly a misnomer
since some bootloaders are still widely used.

The signing feature appears to not be implemented. It can be implemented
using altfw instead.

BUG=chromium:895195
TEST=emerge-grunt chromeos-bootimage

Change-Id: Ia9e7cc6f7cbc4330c0172e4725b8777152604c73
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1292995
Commit-Ready: Duncan Laurie <dlaurie@google.com>
Tested-by: Duncan Laurie <dlaurie@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/1352640
Reviewed-by: Martin Roth <martinroth@chromium.org>
Tested-by: Martin Roth <martinroth@chromium.org>

[modify] https://crrev.com/14f4d0d45f4505d9239c96131b941d566d820ab5/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3.ebuild
[rename] https://crrev.com/14f4d0d45f4505d9239c96131b941d566d820ab5/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.3-r46.ebuild

Sign in to add a comment