Date: Mon, 4 Jan 2021 00:09:32 +0200 From: Toomas Soome <tsoome@me.com> To: Gordon Bergling <gbe@freebsd.org> Cc: Mateusz Guzik <mjguzik@gmail.com>, Toomas Soome <tsoome@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 4f9139397e70 - main - loader: fix uboot build with gfx_fb Message-ID: <98F70FF0-2842-4517-9771-EBC0C6D181BC@me.com> In-Reply-To: <X/I%2B30QilBtJGho3@lion.0xfce3.net> References: <202101031922.103JMjCW098991@gitrepo.freebsd.org> <CAGudoHGgBd1MyK1awbdvm5M25ewBC3JZp4yrb4Jy0QnL4MGaGg@mail.gmail.com> <5A01B97F-5EEB-4E8D-94E4-6901F40E37AC@me.com> <X/I%2B30QilBtJGho3@lion.0xfce3.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 4. Jan 2021, at 00:02, Gordon Bergling <gbe@freebsd.org> wrote: >=20 > Hi Toomas, >=20 > these errors are maybe related to an recent update > to LLVM (llvmorg-11.0.1-rc2-0-g43ff75f2c3f). >=20 > --Gordon 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 >=20 > 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 = errors like this: >>=20 >> 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>: 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. <eof> parser at end of file >> 2. /usr/include/c++/v1/functional:2370:5: instantiating function = definition 'std::__1::function<int (const llvm::Error = &)>::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<int (const llvm::Error = &)>::__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<int (const llvm::Error = &)>::__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 &)>' >> <jemalloc>: Should own 0 locks of rank >=3D 1: decay(12) >> *** Signal 6 >>=20 >> Stop. >> make[4]: stopped in /usr/src/lib/clang/libllvm >>=20 >> thanks, >> toomas >>=20 >>> On 3. Jan 2021, at 23:21, Mateusz Guzik <mjguzik@gmail.com> 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 <tsoome@freebsd.org> 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 <tsoome@FreeBSD.org> >>>> AuthorDate: 2021-01-03 10:26:48 +0000 >>>> Commit: Toomas Soome <tsoome@FreeBSD.org> >>>> 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 <tsoome@freebsd.org> >>>> + * 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 <sys/cdefs.h> >>>> +__FBSDID("$FreeBSD$"); >>>> + >>>> +/* >>>> + * U-Boot-specific gfx stubs. >>>> + */ >>>> + >>>> +#include <sys/types.h> >>>> +#include <pnglite.h> >>>> +#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 <mjguzik gmail.com> >>=20 >> _______________________________________________ >> 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 > --=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?98F70FF0-2842-4517-9771-EBC0C6D181BC>