grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/1] gensymlist: fix clang build with exporting of __builtin_


From: Glenn Washburn
Subject: Re: [PATCH 1/1] gensymlist: fix clang build with exporting of __builtin_trap
Date: Tue, 14 Jun 2022 13:18:43 -0500

On Tue, 14 Jun 2022 18:55:18 +0200
"Vladimir 'phcoder' Serbinenko" <phcoder@gmail.com> wrote:

> Correct solution is to provide __builtin_trap ourselves. Likely it would be
> a wrapper around grub_abort

This seems like tacit support for at least the direction of my patch
removing the use of __builtin_trap[1] which was introduced recently in
cd37d3d39 (gnulib: Drop no-abort.patch) and which uses grub_abort()
instead of __builtin_trap. The only other place that could potentially
use __builtin_trap is in grub-core/lib/gnulib/verify.h in the "assume"
macro. However, I don't see anywhere that macro is being used. Though
Daniel was wondering what was wrong with defining abort in
grub-core/lib/posix_wrap/stdlib.h as had been done in db7337a3d
(grub-core/lib/posix_wrap/stdlib.h (abort): Removed).

Glenn

[1] https://lists.gnu.org/archive/html/grub-devel/2022-03/msg00220.html

> 
> Le mar. 14 juin 2022, 15:37, Darren Kenny <darren.kenny@oracle.com> a
> écrit :
> 
> > clang expands the abort function to __builtin_trap, but that cannot be
> > exported.
> >
> > The script that generates the symlist.c file should also exclude any
> > symbols that start with __builtin_.
> >
> > Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
> > ---
> >  grub-core/gensymlist.sh | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/grub-core/gensymlist.sh b/grub-core/gensymlist.sh
> > index 5074ef6aad58..a2e5b85d0a71 100644
> > --- a/grub-core/gensymlist.sh
> > +++ b/grub-core/gensymlist.sh
> > @@ -58,6 +58,7 @@ EOF
> >
> >  (while read LINE; do echo $LINE; done) \
> >    | grep -v '^#' \
> > +  | grep -v 'EXPORT_FUNC *(__builtin_[a-zA-Z0-9_]*)' \
> >    | sed -n \
> >          -e '/EXPORT_FUNC *([a-zA-Z0-9_]*)/{s/.*EXPORT_FUNC
> > *(\([a-zA-Z0-9_]*\)).*/      {"\1", \1, 1},/;p;}' \
> >          -e '/EXPORT_VAR *([a-zA-Z0-9_]*)/{s/.*EXPORT_VAR
> > *(\([a-zA-Z0-9_]*\)).*/      {"\1", (void *) \&\1, 0},/;p;}' \
> > --
> > 2.31.1
> >
> >
> > _______________________________________________
> > Grub-devel mailing list
> > Grub-devel@gnu.org
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> >



reply via email to

[Prev in Thread] Current Thread [Next in Thread]