Date: Sun, 3 Jan 2021 23:02:07 +0100 From: Gordon Bergling <gbe@freebsd.org> To: Toomas Soome <tsoome@me.com> 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: <X/I%2B30QilBtJGho3@lion.0xfce3.net> In-Reply-To: <5A01B97F-5EEB-4E8D-94E4-6901F40E37AC@me.com> References: <202101031922.103JMjCW098991@gitrepo.freebsd.org> <CAGudoHGgBd1MyK1awbdvm5M25ewBC3JZp4yrb4Jy0QnL4MGaGg@mail.gmail.com> <5A01B97F-5EEB-4E8D-94E4-6901F40E37AC@me.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Toomas, these errors are maybe related to an recent update to LLVM (llvmorg-11.0.1-rc2-0-g43ff75f2c3f). --Gordon On Sun, Jan 03, 2021 at 11:36:32PM +0200, Toomas Soome via dev-commits-src-main wrote: > Yes, I’m 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=\"armv6-unknown-freebsd13.0-gnueabihf\" -DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd13.0\" -DDEFAULT_SYSROOT=\"/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=c++14 -stdlib=libc++ -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) <= 0” > 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="armv6-unknown-freebsd13.0-gnueabihf" -DLLVM_HOST_TRIPLE="x86_64-unknown-freebsd13.0" -DDEFAULT_SYSROOT="/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=c++14 -stdlib=libc++ -Wno-c++11-extensions -c /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/GuardUtils.cpp -o Transforms/Utils/GuardUtils.o > 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 >= 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 <mjguzik@gmail.com> wrote: > > > > This still fails to build: > > > > 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 > > > > 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 <tsoome@freebsd.org> wrote: > >> The branch main has been updated by tsoome: > >> > >> URL: > >> https://cgit.FreeBSD.org/src/commit/?id=4f9139397e709a106a73f362654ce245321e4a77 > >> > >> 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 > >> > >> 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= uboot > >> WARNS?= 2 > >> > >> SRCS= console.c copy.c devicename.c elf_freebsd.c glue.c > >> -SRCS+= module.c net.c reboot.c time.c > >> +SRCS+= module.c net.c reboot.c time.c gfx_fb.c > >> > >> +CFLAGS.gfx_fb.c += -I${SRCTOP}/contrib/pnglite > >> +CFLAGS.gfx_fb.c += -I${SRCTOP}/sys/teken > >> CFLAGS.glue.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib > >> > >> .if ${LOADER_DISK_SUPPORT:Uyes} == "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 = STAILQ_HEAD_INITIALIZER(fonts); > >> +teken_gfx_t gfx_state = { 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 <mjguzik gmail.com> > > _______________________________________________ > 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" --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?X/I%2B30QilBtJGho3>