Please evaluate size increase for this. In the past passing file and line number to grub_dprintf was a huge source of increased Kern and core size
Le mer. 4 mars 2020 à 13:01, Javier Martinez Canillas <javi...@redhat.com> a écrit : > From: Peter Jones <pjo...@redhat.com> > > Add file and line to grub_error() output to make troubleshooting easier. > > Signed-off-by: Peter Jones <pjo...@redhat.com> > Signed-off-by: Javier Martinez Canillas <javi...@redhat.com> > --- > > grub-core/kern/err.c | 13 +++++++++++-- > include/grub/err.h | 5 ++++- > 2 files changed, 15 insertions(+), 3 deletions(-) > > diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c > index 53c734de70e..aebfe0cf839 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 24ba9f5f592..b68bbec3c72 100644 > --- a/include/grub/err.h > +++ b/include/grub/err.h > @@ -85,7 +85,10 @@ 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, ...); > +grub_err_t EXPORT_FUNC(grub_error) (grub_err_t n, const char *file, const > int line, const char *fmt, ...); > + > +#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.24.1 > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel >
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel