> On Jun 4, 2024, at 8:21 AM, Shawn Webb <[email protected]> wrote:
> 
> On Tue, Jun 04, 2024 at 06:28:19AM +0000, Stefan Eßer wrote:
>> The branch main has been updated by se:
>> 
>> URL: 
>> https://cgit.FreeBSD.org/src/commit/?id=41ee91c64f47faaa8131df3cd8a63bdb60fa486a
>> 
>> commit 41ee91c64f47faaa8131df3cd8a63bdb60fa486a
>> Author:     Stefan Eßer <[email protected]>
>> AuthorDate: 2024-06-04 06:26:09 +0000
>> Commit:     Stefan Eßer <[email protected]>
>> 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
> 
> Imagine the following:
> 
> 1. someone builds FreeBSD on Linux or macOS
> 2. that build is deployed
> 3. FreeBSD is rebuilt on that deployment
> 
> Could the value of alignto be different on step 1 versus step 3?

Hi Shawn,
        Assuming the tool is built for the host, yes it would run into the 
issues you’re describing. If it’s targeting FreeBSD though or an OS that allows 
direct access to PAGE_SIZE, e.g., NetBSD, it will use whatever the OS defines 
for PAGE_SIZE in the appropriate headers.
Cheers,
-Enji

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to