linux/lib/fonts
Helge Deller 470ea955a1 fbdev/arm: Export acorndata_8x8 font symbol for bootloader
The text display code used in the Risc PC kernel image decompression
code uses arch/arm/boot/compressed/font.c, which includes
lib/fonts/font_acorn_8x8.c, which further includes <linux/font.h>.

Since commit 97df896024 ("lib/fonts: Provide helpers for calculating
glyph pitch and size") <linux/font.h> contains inline functions that
require __do_div64, which is not linked into the ARM kernel
decompressor. This makes Risc PC zImages fail to build.

Resolve this issue by defining the BOOTLOADER symbol and use it to avoid
a static declaration of the acorndata_8x8 symbol. That way it can be
referenced by the arm bootloader, and other static math functions and
symbols (like __do_div64) stay static and don't get unneccesary included
in the ARM kernel bootloader decompressor object file.

Fixes: 97df896024 ("lib/fonts: Provide helpers for calculating glyph pitch and size")
Reported-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Russell King <linux@armlinux.org.uk>
Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09 16:00:11 +02:00
..
font_6x8.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_6x10.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_6x11.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_7x14.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_8x8.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_8x16.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_10x18.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_acorn_8x8.c fbdev/arm: Export acorndata_8x8 font symbol for bootloader 2026-06-09 16:00:11 +02:00
font_mini_4x6.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_pearl_8x8.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_rotate.c lib/fonts: Fix bit position when rotating by 180 degrees 2026-04-28 14:18:51 +02:00
font_sun8x16.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_sun12x22.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_ter10x18.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font_ter16x32.c lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
font.h lib/fonts: Remove internal symbols and macros from public header file 2026-03-09 15:47:21 +01:00
fonts.c lib/fonts: Provide helpers for calculating glyph pitch and size 2026-04-07 17:38:07 +02:00
Kconfig lib/fonts: Add Terminus 10x18 console font 2025-12-02 19:57:01 +01:00
Makefile lib/fonts: Implement glyph rotation 2026-04-07 17:38:07 +02:00