From owner-dev-commits-src-all@freebsd.org Sun Jan 3 22:53:51 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B0FCC4C2376; Sun, 3 Jan 2021 22:53:51 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D8DZl0sZVz4vM4; Sun, 3 Jan 2021 22:53:50 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wr1-x42e.google.com with SMTP id i9so29917287wrc.4; Sun, 03 Jan 2021 14:53:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=gq4U5tyjIwqerEKESsY/AUGrOUqUgyF5oyZKjfbKcAY=; b=D3k+hgKGSa57+fQUPpUTOPiQ1zzknKRhV2TEBUUBeewH1+2dBtobIBHxtBni6B55M8 bh5WeYCY5B8dk1T3z6HCTGwIczYEa4jaDu88iCXS+E8V83DGFEvhetN98s+6kp3b8J8E XzlO6WIp9kuo/MX5Uh6H7lLTVPIm6CjWUIbUqzEpuBnd68ABDWXG9pSr3Y9ExGKQrfE3 n6xl+9lhBfnsGQJylvPPD+WCE0S3DvICoVoKK59ydrP/hPtZbhHqMV37JUZ4hrZ+M8GW A7R8LJXA4B0ednsOy49eNXqTfcRjvB+9CfEJzr3+atsXeEGUGPkDPuI+tLOg0Jk0Wd+/ RGTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=gq4U5tyjIwqerEKESsY/AUGrOUqUgyF5oyZKjfbKcAY=; b=lbFk8QerBDoDkkpKakbTkj1asj7hKE2QeEGJ4pdBT8onXhMqHxj64sNaLIjBPAsflF q5p7ExLBKYSj6NWxYU0PTZnIayOX7cEm3HFX3NA1JfBRA16YvoHbG4RvSwrOpLGVGix6 NsaF85JA8zEnO8WMimQyN2wArPFHYsYMKun1G/VVcI5AWSFDDTv99eozegdrvdf1+o5M TrLxChLBvEs4xYHxQR+n99Ey8ndxSE7PF4Br+O7Eud+ECG25h4EaqpiZJX2qFp5ICYH5 X+CTlyZyO00FIXpK8QvYXisoriPztBwVl7n4XOdc38u70I7bl8qYu1BMs1o1ykLQ/x+N DmDA== X-Gm-Message-State: AOAM531h98f56jCwbpC4+0LwShM4eKXPLrxfuEsEVolX5nAORb0aJIPd p/lxDKWUEzyG0vPpdDPGOLdr+ORkewL5jo1zqYcTEE1mKco= X-Google-Smtp-Source: ABdhPJw0T/Gfm5DWF22QapMJdFlhD33DIX8C9fLab5QZbBo4GJIrjkDMFuY7ew5CNHPKBKbSeorRsokRo1ZgabPcUQk= X-Received: by 2002:a5d:47a5:: with SMTP id 5mr79258321wrb.109.1609714428354; Sun, 03 Jan 2021 14:53:48 -0800 (PST) MIME-Version: 1.0 Received: by 2002:adf:f811:0:0:0:0:0 with HTTP; Sun, 3 Jan 2021 14:53:47 -0800 (PST) In-Reply-To: References: <202101031922.103JMjCW098991@gitrepo.freebsd.org> <5A01B97F-5EEB-4E8D-94E4-6901F40E37AC@me.com> <98F70FF0-2842-4517-9771-EBC0C6D181BC@me.com> From: Mateusz Guzik Date: Sun, 3 Jan 2021 23:53:47 +0100 Message-ID: Subject: Re: git: 4f9139397e70 - main - loader: fix uboot build with gfx_fb To: Gordon Bergling Cc: Toomas Soome , Toomas Soome , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4D8DZl0sZVz4vM4 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2021 22:53:51 -0000 This may be a side-effect of https://reviews.freebsd.org/D27629 Regardless, universe13a.freebsd.org and/or universe13b.freebsd.org can be used to compile in the meantime. On 1/3/21, Gordon Bergling wrote: > On Mon, Jan 04, 2021 at 12:09:32AM +0200, Toomas Soome wrote: >> > On 4. Jan 2021, at 00:02, Gordon Bergling wrote: >> > these errors are maybe related to an recent update >> > to LLVM (llvmorg-11.0.1-rc2-0-g43ff75f2c3f). >> >> maybe, but I actually suspect the mac os big sur is there to blame, this >> issue does affect qemu a lot and vmware fusion some.. the error below is >> from vmware fusion vm. >> >> thanks, >> toomas > > I am not sure how a VESA FB change affects virtualized environments, but = I > have tested > a FreeBSD revision, which includes your changes against a RPi4b system an= d > against > a Hyper-V based virtual machine and I haven't seen any problems. > > --Gordon > >> > On Sun, Jan 03, 2021 at 11:36:32PM +0200, Toomas Soome via >> > dev-commits-src-main wrote: >> >> Yes, I=E2=80=99m preparing patches there too, assuming i get past err= ors like >> >> this: >> >> >> >> c++ -O2 -pipe -fno-common >> >> -I/usr/obj/usr/src/arm.armv6/tmp/obj-tools/lib/clang/libllvm >> >> -I/usr/src/contrib/llvm-project/llvm/lib/Target/ARM >> >> -I/usr/src/lib/clang/include >> >> -I/usr/src/contrib/llvm-project/llvm/include -D__STDC_CONSTANT_MACROS >> >> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_VCS_VERSION_INC >> >> -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd13.0-gnueabihf\= " >> >> -DLLVM_HOST_TRIPLE=3D\"x86_64-unknown-freebsd13.0\" >> >> -DDEFAULT_SYSROOT=3D\"/usr/obj/usr/src/arm.armv6/tmp\" >> >> -DLLVM_TARGET_ENABLE_ARM -ffunction-sections -fdata-sections >> >> -gline-tables-only -MD -MF.depend.Transforms_Utils_GuardUtils.o >> >> -MTTransforms/Utils/GuardUtils.o -Wno-format-zero-length >> >> -Qunused-arguments -I/usr/obj/usr/src/arm.armv6/tmp/legacy/usr/includ= e >> >> -fno-exceptions -fno-rtti -gline-tables-only -std=3Dc++14 -stdlib=3Dl= ibc++ >> >> -Wno-c++11-extensions -c >> >> /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/GuardUtils.cp= p >> >> -o Transforms/Utils/GuardUtils.o >> >> : jemalloc_arena.c:747: Failed assertion: >> >> "nstime_compare(&decay->epoch, &time) <=3D 0=E2=80=9D >> >> PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and >> >> include the crash backtrace, preprocessed source, and associated run >> >> script. >> >> Stack dump: >> >> 0. Program arguments: c++ -O2 -pipe -fno-common >> >> -I/usr/obj/usr/src/arm.armv6/tmp/obj-tools/lib/clang/libllvm >> >> -I/usr/src/contrib/llvm-project/llvm/lib/Target/ARM >> >> -I/usr/src/lib/clang/include >> >> -I/usr/src/contrib/llvm-project/llvm/include -D__STDC_CONSTANT_MACROS >> >> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_VCS_VERSION_INC >> >> -DLLVM_DEFAULT_TARGET_TRIPLE=3D"armv6-unknown-freebsd13.0-gnueabihf" >> >> -DLLVM_HOST_TRIPLE=3D"x86_64-unknown-freebsd13.0" >> >> -DDEFAULT_SYSROOT=3D"/usr/obj/usr/src/arm.armv6/tmp" >> >> -DLLVM_TARGET_ENABLE_ARM -ffunction-sections -fdata-sections >> >> -gline-tables-only -MD -MF.depend.Transforms_Utils_GuardUtils.o >> >> -MTTransforms/Utils/GuardUtils.o -Wno-format-zero-length >> >> -Qunused-arguments -I/usr/obj/usr/src/arm.armv6/tmp/legacy/usr/includ= e >> >> -fno-exceptions -fno-rtti -gline-tables-only -std=3Dc++14 -stdlib=3Dl= ibc++ >> >> -Wno-c++11-extensions -c >> >> /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/GuardUtils.cp= p >> >> -o Transforms/Utils/GuardUtils.o >> >> 1. parser at end of file >> >> 2. /usr/include/c++/v1/functional:2370:5: instantiating function >> >> definition 'std::__1::function> >> &)>::function<(lambda at >> >> /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:1311:= 21), >> >> void>' >> >> 3. /usr/include/c++/v1/functional:1805:40: instantiating function >> >> definition 'std::__1::__function::__value_func> >> &)>::__value_func<(lambda at >> >> /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:1311:= 21), >> >> void>' >> >> 4. /usr/include/c++/v1/functional:1775:31: instantiating function >> >> definition 'std::__1::__function::__value_func> >> &)>::__value_func<(lambda at >> >> /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:1311:= 21), >> >> std::__1::allocator<(lambda at >> >> /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:1311:= 21)>>' >> >> 5. /usr/include/c++/v1/functional:1654:52: instantiating class >> >> definition 'std::__1::__function::__func<(lambda at >> >> /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:1311:= 21), >> >> std::__1::allocator<(lambda at >> >> /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:1311:= 21)>, >> >> int (const llvm::Error &)>' >> >> : Should own 0 locks of rank >=3D 1: decay(12) >> >> *** Signal 6 >> >> >> >> Stop. >> >> make[4]: stopped in /usr/src/lib/clang/libllvm >> >> >> >> thanks, >> >> toomas >> >> >> >>> On 3. Jan 2021, at 23:21, Mateusz Guzik wrote: >> >>> >> >>> This still fails to build: >> >>> >> >>> powerpc.powerpc buildworld failed, check _.powerpc.powerpc.buildworl= d >> >>> for details >> >>> powerpc.powerpc64 buildworld failed, check >> >>> _.powerpc.powerpc64.buildworld for details >> >>> mips.mips64 buildworld failed, check _.mips.mips64.buildworld for >> >>> details >> >>> >> >>> ld: error: undefined symbol: fonts >> >>>>>> referenced by module.c:633 (/usr/src/stand/common/module.c:633) >> >>>>>> module.o:(build_font_module) >> >>>>>> referenced by module.c:633 (/usr/src/stand/common/module.c:633) >> >>>>>> module.o:(build_font_module) >> >>> ld: error: undefined symbol: gfx_state >> >>>>>> referenced by module.c:0 (/usr/src/stand/common/module.c:0) >> >>>>>> module.o:(build_font_module) >> >>>>>> referenced by module.c:0 (/usr/src/stand/common/module.c:0) >> >>>>>> module.o:(build_font_module) >> >>>>>> referenced by loader.c:93 (/usr/src/stand/ficl/loader.c:93) >> >>>>>> loader.o:(ficl_term_putimage) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>>>>> referenced 1 more times >> >>> >> >>> ld: error: undefined symbol: gfx_fb_putimage >> >>>>>> referenced by loader.c:114 (/usr/src/stand/ficl/loader.c:114) >> >>>>>> loader.o:(ficl_term_putimage) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>>>>> referenced by loader.c:154 (/usr/src/stand/ficl/loader.c:154) >> >>>>>> loader.o:(ficl_fb_putimage) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>> >> >>> ld: error: undefined symbol: gfx_fb_setpixel >> >>>>>> referenced by loader.c:173 (/usr/src/stand/ficl/loader.c:173) >> >>>>>> loader.o:(ficl_fb_setpixel) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>> >> >>> ld: error: undefined symbol: gfx_fb_line >> >>>>>> referenced by loader.c:190 (/usr/src/stand/ficl/loader.c:190) >> >>>>>> loader.o:(ficl_fb_line) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>> >> >>> ld: error: undefined symbol: gfx_fb_bezier >> >>>>>> referenced by loader.c:209 (/usr/src/stand/ficl/loader.c:209) >> >>>>>> loader.o:(ficl_fb_bezier) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>> >> >>> ld: error: undefined symbol: gfx_fb_drawrect >> >>>>>> referenced by loader.c:226 (/usr/src/stand/ficl/loader.c:226) >> >>>>>> loader.o:(ficl_fb_drawrect) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>> >> >>> ld: error: undefined symbol: gfx_term_drawrect >> >>>>>> referenced by loader.c:242 (/usr/src/stand/ficl/loader.c:242) >> >>>>>> loader.o:(ficl_term_drawrect) in archive >> >>>>>> /usr/obj/usr/src/powerpc.powerpc64/stand/ficl/libficl.a >> >>> >> >>> >> >>> On 1/3/21, Toomas Soome wrote: >> >>>> The branch main has been updated by tsoome: >> >>>> >> >>>> URL: >> >>>> https://cgit.FreeBSD.org/src/commit/?id=3D4f9139397e709a106a73f3626= 54ce245321e4a77 >> >>>> >> >>>> commit 4f9139397e709a106a73f362654ce245321e4a77 >> >>>> Author: Toomas Soome >> >>>> AuthorDate: 2021-01-03 10:26:48 +0000 >> >>>> Commit: Toomas Soome >> >>>> CommitDate: 2021-01-03 18:45:37 +0000 >> >>>> >> >>>> loader: fix uboot build with gfx_fb >> >>>> >> >>>> Need to add stub data and gfx functions to make linking happy. >> >>>> --- >> >>>> stand/uboot/lib/Makefile | 4 ++- >> >>>> stand/uboot/lib/gfx_fb.c | 78 >> >>>> ++++++++++++++++++++++++++++++++++++++++++++++++ >> >>>> 2 files changed, 81 insertions(+), 1 deletion(-) >> >>>> >> >>>> diff --git a/stand/uboot/lib/Makefile b/stand/uboot/lib/Makefile >> >>>> index e56cf4f0b370..448188c93058 100644 >> >>>> --- a/stand/uboot/lib/Makefile >> >>>> +++ b/stand/uboot/lib/Makefile >> >>>> @@ -8,8 +8,10 @@ LIB=3D uboot >> >>>> WARNS?=3D 2 >> >>>> >> >>>> SRCS=3D console.c copy.c devicename.c elf_freebsd.c glue.c >> >>>> -SRCS+=3D module.c net.c reboot.c time.c >> >>>> +SRCS+=3D module.c net.c reboot.c time.c gfx_fb.c >> >>>> >> >>>> +CFLAGS.gfx_fb.c +=3D -I${SRCTOP}/contrib/pnglite >> >>>> +CFLAGS.gfx_fb.c +=3D -I${SRCTOP}/sys/teken >> >>>> CFLAGS.glue.c+=3D -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib >> >>>> >> >>>> .if ${LOADER_DISK_SUPPORT:Uyes} =3D=3D "yes" >> >>>> diff --git a/stand/uboot/lib/gfx_fb.c b/stand/uboot/lib/gfx_fb.c >> >>>> new file mode 100644 >> >>>> index 000000000000..e2d3204da7b9 >> >>>> --- /dev/null >> >>>> +++ b/stand/uboot/lib/gfx_fb.c >> >>>> @@ -0,0 +1,78 @@ >> >>>> +/*- >> >>>> + * Copyright 2021 Toomas Soome >> >>>> + * All rights reserved. >> >>>> + * >> >>>> + * Redistribution and use in source and binary forms, with or >> >>>> without >> >>>> + * modification, are permitted provided that the following >> >>>> conditions >> >>>> + * are met: >> >>>> + * 1. Redistributions of source code must retain the above >> >>>> copyright >> >>>> + * notice, this list of conditions and the following disclaimer= . >> >>>> + * 2. Redistributions in binary form must reproduce the above >> >>>> copyright >> >>>> + * notice, this list of conditions and the following disclaimer >> >>>> in the >> >>>> + * documentation and/or other materials provided with the >> >>>> distribution. >> >>>> + * >> >>>> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS >> >>>> IS'' AND >> >>>> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED T= O, >> >>>> THE >> >>>> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A >> >>>> PARTICULAR >> >>>> PURPOSE >> >>>> + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS B= E >> >>>> LIABLE >> >>>> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >> >>>> CONSEQUENTIAL >> >>>> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITU= TE >> >>>> GOODS >> >>>> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >> >>>> INTERRUPTION) >> >>>> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >> >>>> CONTRACT, >> >>>> STRICT >> >>>> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING = IN >> >>>> ANY >> >>>> WAY >> >>>> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE >> >>>> POSSIBILITY OF >> >>>> + * SUCH DAMAGE. >> >>>> + */ >> >>>> + >> >>>> +#include >> >>>> +__FBSDID("$FreeBSD$"); >> >>>> + >> >>>> +/* >> >>>> + * U-Boot-specific gfx stubs. >> >>>> + */ >> >>>> + >> >>>> +#include >> >>>> +#include >> >>>> +#include "bootstrap.h" >> >>>> +#include "gfx_fb.h" >> >>>> + >> >>>> +font_list_t fonts =3D STAILQ_HEAD_INITIALIZER(fonts); >> >>>> +teken_gfx_t gfx_state =3D { 0 }; >> >>>> + >> >>>> +void >> >>>> +gfx_fb_setpixel(uint32_t x __unused, uint32_t y __unused) >> >>>> +{ >> >>>> +} >> >>>> + >> >>>> +void >> >>>> +gfx_fb_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, >> >>>> + uint32_t x2 __unused, uint32_t y2 __unused, uint32_t fill >> >>>> __unused) >> >>>> +{ >> >>>> +} >> >>>> + >> >>>> +void >> >>>> +gfx_term_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, >> >>>> + uint32_t x2 __unused, uint32_t y2 __unused) >> >>>> +{ >> >>>> +} >> >>>> + >> >>>> +void >> >>>> +gfx_fb_line(uint32_t x0 __unused, uint32_t y0 __unused, >> >>>> + uint32_t x1 __unused, uint32_t y1 __unused, uint32_t w >> >>>> __unused) >> >>>> +{ >> >>>> +} >> >>>> + >> >>>> +void >> >>>> +gfx_fb_bezier(uint32_t x0 __unused, uint32_t y0 __unused, >> >>>> + uint32_t x1 __unused, uint32_t y1 __unused, uint32_t x2 >> >>>> __unused, >> >>>> + uint32_t y2 __unused, uint32_t w __unused) >> >>>> +{ >> >>>> +} >> >>>> + >> >>>> +int >> >>>> +gfx_fb_putimage(png_t *png __unused, uint32_t ux1 __unused, >> >>>> + uint32_t uy1 __unused, uint32_t ux2 __unused, uint32_t uy2 >> >>>> __unused, >> >>>> + uint32_t flags __unused) >> >>>> +{ >> >>>> + return (1); >> >>>> +} >> >>>> >> >>> >> >>> >> >>> -- >> >>> Mateusz Guzik >> >> >> >> _______________________________________________ >> >> dev-commits-src-main@freebsd.org mailing list >> >> https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main >> >> To unsubscribe, send any mail to >> >> "dev-commits-src-main-unsubscribe@freebsd.org" >> > >> > -- >> > > -- > --=20 Mateusz Guzik