git: 4f9139397e70 - main - loader: fix uboot build with gfx_fb

Mateusz Guzik mjguzik at gmail.com
Sun Jan 3 21:21:52 UTC 2021


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 at 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 at FreeBSD.org>
> AuthorDate: 2021-01-03 10:26:48 +0000
> Commit:     Toomas Soome <tsoome at 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 at 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>


More information about the dev-commits-src-all mailing list