> On Jun 3, 2024, at 11:28 PM, Stefan Eßer <s...@freebsd.org> wrote:
> 
> The branch main has been updated by se:
> 
> URL: 
> https://cgit.FreeBSD.org/src/commit/?id=41ee91c64f47faaa8131df3cd8a63bdb60fa486a
> 
> commit 41ee91c64f47faaa8131df3cd8a63bdb60fa486a
> Author:     Stefan Eßer <s...@freebsd.org>
> AuthorDate: 2024-06-04 06:26:09 +0000
> Commit:     Stefan Eßer <s...@freebsd.org>
> CommitDate: 2024-06-04 06:26:09 +0000
> 
>    newfs_msdos: fix build on non-FreeBSD systems
> 
>    Disable data area alignment if the build environment does not define
>    PAGE_SIZE (e.g., when building on Linux or macOS).
> 
>    Reported by:    jrtc27
>    MFC after:      1 week
> ---
> sbin/newfs_msdos/mkfs_msdos.c | 4 ++++
> 1 file changed, 4 insertions(+)
> 
> diff --git a/sbin/newfs_msdos/mkfs_msdos.c b/sbin/newfs_msdos/mkfs_msdos.c
> index 423fbbcadcc5..1bca560a59e1 100644
> --- a/sbin/newfs_msdos/mkfs_msdos.c
> +++ b/sbin/newfs_msdos/mkfs_msdos.c
> @@ -571,7 +571,11 @@ mkfs_msdos(const char *fname, const char *dtype, const 
> struct msdos_options *op)
>           if (o.align)
>               alignto = bpb.bpbSecPerClust;
>           else
> +#ifdef       PAGE_SIZE
>               alignto = PAGE_SIZE / bpb.bpbBytesPerSec;
> +#else
> +             alignto = 1;
> +#endif
>           if (alignto > 1) {
>               /* align data clusters */
>               alignment = (bpb.bpbResSectors + bpb.bpbBigFATsecs * 
> bpb.bpbFATs + rds) %

        I realize this might seem silly, but what about sysconf(_SC_PAGE_SIZE) 
( https://pubs.opengroup.org/onlinepubs/9699919799/functions/sysconf.html ) 
with platforms that don’t have direct access to PAGE_SIZE? It’s supported on 
Linux and MacOS at least.
Cheers,
-Enji

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to