[PATCH] fs/erofs: Fix build for m68k

Daniel Palmer daniel at thingy.jp
Sun Apr 19 12:01:23 CEST 2026


Currently the use of roundup() causes GCC to emit a reference
to __udivdi3() on m68k and we don't have that:

/usr/bin/m68k-linux-gnu-ld.bfd: fs/erofs/data.o: in function `erofs_map_blocks':
u-boot/fs/erofs/data.c:81:(.text.erofs_map_blocks+0x126): undefined reference to `__udivdi3'
/usr/bin/m68k-linux-gnu-ld.bfd: u-boot/fs/erofs/data.c:81:(.text.erofs_map_blocks+0x458): undefined reference to `__udivdi3'

We could add it but since unit is 4 or 8 we can actually just
switch the code to use round_up() instead and not output
__udivdi3() in the first place.

Signed-off-by: Daniel Palmer <daniel at thingy.jp>
---
 fs/erofs/data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index b58ec6fcc666..95873846f62d 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -78,7 +78,7 @@ int erofs_map_blocks(struct erofs_inode *inode,
 		unit = EROFS_BLOCK_MAP_ENTRY_SIZE;	/* block map */
 
 	chunknr = map->m_la >> vi->u.chunkbits;
-	pos = roundup(iloc(vi->nid) + vi->inode_isize +
+	pos = round_up(iloc(vi->nid) + vi->inode_isize +
 		      vi->xattr_isize, unit) + unit * chunknr;
 
 	err = erofs_blk_read(buf, erofs_blknr(pos), 1);
-- 
2.53.0



More information about the U-Boot mailing list