From: Nathan Chancellor <nathan@kernel.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: "Aiden Leong" <aiden.leong@aibsd.com>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
ndesaulniers@google.com, nicolas@fjasle.eu,
clang-built-linux <llvm@lists.linux.dev>,
"F���ng-ru��� S���ng" <maskray@google.com>
Subject: Re: [PATCH v2 2/4] modpost: inform compilers that fatal() never returns
Date: Mon, 22 Jan 2024 16:02:55 -0700 [thread overview]
Message-ID: <20240122230255.GD141255@dev-fedora.aadp> (raw)
In-Reply-To: <CAK7LNATDD2gC53T5n7vCUH6O6mdAm801fTWyKi9fji+5Kb+0ng@mail.gmail.com>
On Mon, Jan 22, 2024 at 10:29:32PM +0900, Masahiro Yamada wrote:
> +CC: clang-built-linux list, Fangrui
>
> On Mon, Jan 22, 2024 at 1:04 PM Aiden Leong <aiden.leong@aibsd.com> wrote:
> >
> >
> > > The function fatal() never returns because modpost_log() calls exit(1)
> >
> > > when LOG_FATAL is passed.
> > >
> > > Inform compilers of this fact so that unreachable code flow can be
> > > identified at compile time.
> > >
> > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> > > Reviewed-by: Nathan Chancellor <nathan@kernel.org>
> > > ---
> > >
> > > Changes in v2:
> > > - Use noreturn attribute together with alias
> > >
> > > scripts/mod/modpost.c | 3 +++
> > > scripts/mod/modpost.h | 5 ++++-
> > > 2 files changed, 7 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> > > index ca0a90158f85..c13bc9095df3 100644
> > > --- a/scripts/mod/modpost.c
> > > +++ b/scripts/mod/modpost.c
> > > @@ -90,6 +90,9 @@ void modpost_log(enum loglevel loglevel, const char
> > *fmt, ...)
> > > error_occurred = true;
> > > }
> > >
> > > +void __attribute__((alias("modpost_log")))
> >
> > Hi Masahiro,
> > I cross-compile kernel on Apple Silicon MacBook Pro
> > and every thing works well until this patch.
> >
> > My build command:
> > make ARCH=arm CROSS_COMPILE=arm-none-eabi- \
> > HOSTCFLAGS="-I/opt/homebrew/opt/openssl/include" \
> > HOSTLDFLAGS="-L/opt/homebrew/opt/openssl/lib"
> >
> > Error message:
> > scripts/mod/modpost.c:93:21: error: aliases are not supported on darwin
>
>
> It is unfortunate. Indeed, I see this message in:
>
> clang/include/clang/Basic/DiagnosticSemaKinds.td
>
>
> Is this limitation due to macOS executable (PEF),
> or is it Clang-specific?
Based on my admittedly brief research, this seems related to the Mach-O
format. That message was added by [1] in response to [2] but the message
mentioned weak aliases being supported. A further clarification was made
in [3] to state that all aliases are unsupported as a result of some
internal Apple bug it seems but I do see a couple of bug reports stating
that may not be true [4][5] (although that does not seem relevant for
this report).
[1]: https://github.com/llvm/llvm-project/commit/0017c5fa92ad3b10e15fd34f3865e8e5b850a5ed
[2]: https://llvm.org/bz8720
[3]: https://github.com/llvm/llvm-project/commit/4e30b96834cea5682a8e9e024dda06319825000a
[4]: https://github.com/llvm/llvm-project/issues/11488
[5]: https://github.com/llvm/llvm-project/issues/71001
Cheers,
Nathan
next prev parent reply other threads:[~2024-01-22 23:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 3:48 [PATCH v2 2/4] modpost: inform compilers that fatal() never returns Aiden Leong
2024-01-22 13:29 ` Masahiro Yamada
2024-01-22 23:02 ` Nathan Chancellor [this message]
2024-01-27 13:41 ` Masahiro Yamada
-- strict thread matches above, loose matches on Subject: below --
2023-12-03 9:49 [PATCH v2 1/4] modpost: move __attribute__((format(printf, 2, 3))) to modpost.h Masahiro Yamada
2023-12-03 9:49 ` [PATCH v2 2/4] modpost: inform compilers that fatal() never returns Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240122230255.GD141255@dev-fedora.aadp \
--to=nathan@kernel.org \
--cc=aiden.leong@aibsd.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=masahiroy@kernel.org \
--cc=maskray@google.com \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.