Hi Patrick, In order to build 32-bit Chromium in Buildroot, we had to isolate the whole thing in a 32-bit container, then run:
buildroot$ HOST_CFLAGS="-O2 -m32" linux32 make libcef The 32-bit container is i386 ubuntu:19.10 described by a Dockerfile very similar to the Buildroot testing Dockerfile: <https://git.buildroot.net/buildroot/tree/support/docker/Dockerfile> --- support/docker/Dockerfile 2020-04-29 10:13:47.654241375 +0100 +++ package/libcef/v8_snapshot/arm/Dockerfile 2020-04-29 10:15: 30.339897520 +0100 @@ -1,41 +1,33 @@ -# This Dockerfile generates the docker image that gets used by Gitlab CI -# To build it (YYYYMMDD.HHMM is the current date and time in UTC): -# sudo docker build -t buildroot/base:YYYYMMDD.HHMM support/docker -# sudo docker push buildroot/base:YYYYMMDD.HHMM - -# We use a specific tag for the base image *and* the corresponding date -# for the repository., so do not forget to update the apt-sources.list -# file that is shipped next to this Dockerfile. -FROM debian:stretch-20171210 - -LABEL maintainer="Buildroot mailing list <buildr...@buildroot.org>" \ - vendor="Buildroot" \ -description="Container with everything needed to run Buildroot" +# 32-bit Dockerfile which mimics support/docker/Dockerfile +FROM i386/ubuntu:19.10 # Setup environment ENV DEBIAN_FRONTEND noninteractive # This repository can be a bit slow at times. Don't panic... -COPY apt-sources.list /etc/apt/sources.list +#COPY apt-sources.list /etc/apt/sources.list # The container has no package lists, so need to update first RUN dpkg --add-architecture i386 && \ apt-get update -y RUN apt-get install -y --no-install-recommends \ + automake \ bc \ build-essential \ bzr \ ca-certificates \ + clang \ cmake \ cpio \ cvs \ file \ - g++-multilib \ + g++ \ git \ - libc6:i386 \ + libc6 \ libncurses5-dev \ locales \ mercurial \ + ninja-build \ python-flake8 \ python-nose2 \ python-pexpect \ @@ -47,6 +39,7 @@ rsync \ subversion \ unzip \ + vim \ wget \ && \ apt-get -y autoremove && \ Without using Buildroot, you could probably build Chromium itself with something similar. You'll need a 32-bit version of gn too. Maybe it's possible to build Chromium in a 32-bit VM too. I hope that helps! Thomas On Tuesday, 28 April 2020 20:38:24 UTC+1, Patrick De Bella wrote: > > Hi Thomas, > > Can you please provide some details on how you created the 32-bit versions > of embedded.S and snapshot_blob.bin? I'm new to Chromium, GN and Ninja and > having some issues with this. > > Patrick > > On Wednesday, January 29, 2020 at 4:44:51 AM UTC-5, Thomas Preston wrote: >> >> On Wednesday, 29 January 2020 09:37:48 UTC, Thomas Preston wrote: >> >>> We ended up solving this by letting the run_mksnapshot_default target >>> finish, then overwriting snapshot_blob.bin and embedded.S with the >>> pre-built 32-bit versions. The build actually errors when trying to build >>> another target, which uses embedded.S. >>> >> >> This is the error when we don't replace the snapshot_blob.bin and >> embedded.S with 32-bit versions: >> >> .quad V8FooBar >> ^ unsupported relocation on symbol >> >> >> >> -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/9c4ef4e5-a36e-4864-ab87-15153ad30680%40googlegroups.com.