On Wed, Sep 24, 2025 at 1:55 PM Vladimir 'phcoder' Serbinenko <
[email protected]> wrote:

> What is the influence on core.img size on i386-pc? Are we still within our
> promises for supporting 31K gaps with simple config?
>

running this in both grub versions

$ grub2-mkimage -O i386-pc -p /tmp -o core.img biosdisk part_msdos ext2

core.img file increases from  34538 to 35132 bytes, so the increase is
about 0.6K.

Regards
> Vladimir 'phcoder' Serbinenko
>
> Le mer. 24 sept. 2025, 02:34, Leo Sandoval via Grub-devel <
> [email protected]> a écrit :
>
>> From: Peter Jones <[email protected]>
>>
>> Signed-off-by: Peter Jones <[email protected]>
>> ---
>>  grub-core/kern/err.c | 13 +++++++++++--
>>  include/grub/err.h   |  8 ++++++--
>>  2 files changed, 17 insertions(+), 4 deletions(-)
>>
>> diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c
>> index 53c734de70..aebfe0cf83 100644
>> --- a/grub-core/kern/err.c
>> +++ b/grub-core/kern/err.c
>> @@ -33,15 +33,24 @@ static struct grub_error_saved
>> grub_error_stack_items[GRUB_ERROR_STACK_SIZE];
>>  static int grub_error_stack_pos;
>>  static int grub_error_stack_assert;
>>
>> +#ifdef grub_error
>> +#undef grub_error
>> +#endif
>> +
>>  grub_err_t
>> -grub_error (grub_err_t n, const char *fmt, ...)
>> +grub_error (grub_err_t n, const char *file, const int line, const char
>> *fmt, ...)
>>  {
>>    va_list ap;
>> +  int m;
>>
>>    grub_errno = n;
>>
>> +  m = grub_snprintf (grub_errmsg, sizeof (grub_errmsg), "%s:%d:", file,
>> line);
>> +  if (m < 0)
>> +    m = 0;
>> +
>>    va_start (ap, fmt);
>> -  grub_vsnprintf (grub_errmsg, sizeof (grub_errmsg), _(fmt), ap);
>> +  grub_vsnprintf (grub_errmsg + m, sizeof (grub_errmsg) - m, _(fmt), ap);
>>    va_end (ap);
>>
>>    return n;
>> diff --git a/include/grub/err.h b/include/grub/err.h
>> index 202fa8a7ae..7530f58b29 100644
>> --- a/include/grub/err.h
>> +++ b/include/grub/err.h
>> @@ -88,8 +88,12 @@ struct grub_error_saved
>>  extern grub_err_t EXPORT_VAR(grub_errno);
>>  extern char EXPORT_VAR(grub_errmsg)[GRUB_MAX_ERRMSG];
>>
>> -grub_err_t EXPORT_FUNC(grub_error) (grub_err_t n, const char *fmt, ...)
>> -    __attribute__ ((format (GNU_PRINTF, 2, 3)));
>> +grub_err_t EXPORT_FUNC(grub_error) (grub_err_t n, const char *file,
>> const int line, const char *fmt, ...)
>> +       __attribute__ ((format (GNU_PRINTF, 4, 5)));
>> +
>> +#define grub_error(n, fmt, ...) grub_error (n, __FILE__, __LINE__, fmt,
>> ##__VA_ARGS__)
>> +
>> +
>>  void EXPORT_FUNC(grub_fatal) (const char *fmt, ...) __attribute__
>> ((noreturn));
>>  void EXPORT_FUNC(grub_error_push) (void);
>>  int EXPORT_FUNC(grub_error_pop) (void);
>> --
>> 2.50.1
>>
>>
>> _______________________________________________
>> Grub-devel mailing list
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>
>
_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to