From owner-dev-commits-src-main@freebsd.org Sun Jan 3 21:36:37 2021 Return-Path: Delivered-To: dev-commits-src-main@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 628F44C061A for ; Sun, 3 Jan 2021 21:36:37 +0000 (UTC) (envelope-from tsoome@me.com) Received: from pv50p00im-tydg10011801.me.com (pv50p00im-tydg10011801.me.com [17.58.6.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4D8Bsd1STpz4pJb for ; Sun, 3 Jan 2021 21:36:36 +0000 (UTC) (envelope-from tsoome@me.com) Received: from nazgul.lan (148-52-235-80.sta.estpak.ee [80.235.52.148]) by pv50p00im-tydg10011801.me.com (Postfix) with ESMTPSA id 32BBE6603AF; Sun, 3 Jan 2021 21:36:33 +0000 (UTC) From: Toomas Soome Message-Id: <5A01B97F-5EEB-4E8D-94E4-6901F40E37AC@me.com> Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.40.0.2.32\)) Subject: Re: git: 4f9139397e70 - main - loader: fix uboot build with gfx_fb Date: Sun, 3 Jan 2021 23:36:32 +0200 In-Reply-To: Cc: Toomas Soome , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org To: Mateusz Guzik References: <202101031922.103JMjCW098991@gitrepo.freebsd.org> X-Mailer: Apple Mail (2.3654.40.0.2.32) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2021-01-03_15:2020-12-31, 2021-01-03 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2006250000 definitions=main-2101030139 X-Rspamd-Queue-Id: 4D8Bsd1STpz4pJb X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2021 21:36:37 -0000 Yes, I=E2=80=99m preparing patches there too, assuming i get past errors = 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/include = -fno-exceptions -fno-rtti -gline-tables-only -std=3Dc++14 -stdlib=3Dlibc++= -Wno-c++11-extensions -c = /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/GuardUtils.cpp = -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/include = -fno-exceptions -fno-rtti -gline-tables-only -std=3Dc++14 -stdlib=3Dlibc++= -Wno-c++11-extensions -c = /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/GuardUtils.cpp = -o Transforms/Utils/GuardUtils.o=20 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: >=20 > This still fails to build: >=20 > powerpc.powerpc buildworld failed, check _.powerpc.powerpc.buildworld > for details > powerpc.powerpc64 buildworld failed, check > _.powerpc.powerpc64.buildworld for details > mips.mips64 buildworld failed, check _.mips.mips64.buildworld for = details >=20 > 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 >=20 > 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 >=20 > 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 >=20 > 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 >=20 > 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 >=20 > 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 >=20 > 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 >=20 >=20 > On 1/3/21, Toomas Soome wrote: >> The branch main has been updated by tsoome: >>=20 >> URL: >> = https://cgit.FreeBSD.org/src/commit/?id=3D4f9139397e709a106a73f362654ce245= 321e4a77 >>=20 >> commit 4f9139397e709a106a73f362654ce245321e4a77 >> Author: Toomas Soome >> AuthorDate: 2021-01-03 10:26:48 +0000 >> Commit: Toomas Soome >> CommitDate: 2021-01-03 18:45:37 +0000 >>=20 >> loader: fix uboot build with gfx_fb >>=20 >> 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(-) >>=20 >> 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 >>=20 >> 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 >>=20 >> +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 >>=20 >> .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 TO, = THE >> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A = PARTICULAR >> PURPOSE >> + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE = LIABLE >> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >> CONSEQUENTIAL >> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE = 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); >> +} >>=20 >=20 >=20 > --=20 > Mateusz Guzik