[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