All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Ulrich Niedermann <hun@n-dimensional.de>
To: grub-devel@gnu.org
Cc: Hans Ulrich Niedermann <hun@n-dimensional.de>
Subject: [MULTIBOOT2 SPEC PATCH v4 19/27] multiboot2: Set -nostdlib before AC_PROG_CC for x-compile
Date: Fri, 15 May 2020 05:43:42 +0200	[thread overview]
Message-ID: <20200515034349.133092-20-hun@n-dimensional.de> (raw)
In-Reply-To: <20200515034349.133092-1-hun@n-dimensional.de>

Set -nostdlib in CFLAGS and LDFLAGS before AC_PROG_CC if we
appear to be cross-compiling.

This makes the example kernel build work on my x86_64 system
with both

  * native compile to generate i386 example kernel
       ./configure --enable-example-kernel

  * cross-compile to generate mips example kernel
       ./configure --host=mips64-linux-gnu --enable-example-kernel

It remains to be verified how this works on other systems,
namely native mips systems, and non-x86 systems like arm.

Signed-off-by: Hans Ulrich Niedermann <hun@n-dimensional.de>

diff --git a/configure.ac b/configure.ac
index 830b1f57e..6b0718451 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,11 +22,18 @@ AM_INIT_AUTOMAKE([1.10.1])
 # Programs
 #
 
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+AS_IF([test "x$host" != "x$build"], [dnl
+  CFLAGS="-nostdlib $CFLAGS"
+  LDFLAGS="-nostdlib $LDFLAGS"
+])
+
 AC_PROG_CC
 AM_PROG_AS
 
 dnl Build the example Multiboot2 kernel (if possible on this host)
-AC_CANONICAL_HOST
 kernel_boot_arch=unsupported
 kernel_ccasflags=
 kernel_cflags=
@@ -57,8 +64,6 @@ AM_CONDITIONAL([BUILD_EXAMPLE_KERNEL],
                [test "x$enable_example_kernel" = xyes &&
                 test "x$kernel_boot_arch" != "xunsupported"])
 
-CFLAGS="-nostdlib $CFLAGS"
-
 dnl Output.
 AC_CONFIG_FILES([Makefile doc/Makefile])
 AC_OUTPUT
-- 
2.26.2



  parent reply	other threads:[~2020-05-15  3:47 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-15  3:43 [MULTIBOOT2 SPEC PATCH v4 00/27] multiboot2: Clean up the example kernel Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 01/27] multiboot2: Allow autogen.sh to run with current gnulib Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 02/27] multiboot2: Use .gitignore files Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 03/27] multiboot2: Use m4 quoting and AS_HELP_STRING Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 04/27] multiboot2: Remove obsolete compat code for ancient Autoconf Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 05/27] multiboot2: Remove CCAS workarounds for pre-2005 Automake Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 06/27] multiboot2: Remove unnecessary definition of CC Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 07/27] multiboot2: Automake generates dependencies automatically Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 08/27] multiboot2: Automake cleans built programs automatically Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 09/27] multiboot2: Use the constants by their proper names Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 10/27] multiboot2: Rename boot.S to boot_i386.S Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 11/27] multiboot2: Add boot_i386.S to shipped files Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 12/27] multiboot2: Add boot_mips.S example code to docs Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 13/27] multiboot2: Build arch specific boot code Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 14/27] multiboot2: Fix example kernel header tag alignment Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 15/27] multiboot2: Remove unreferenced AOUT_KLUDGE Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 16/27] multiboot2: Change "Multiboot" in comments to "Multiboot2" Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 17/27] multiboot2: Clean up stack (cdecl calling conventions) Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 18/27] multiboot2: Use predefined #ifdef __ASSEMBLER__ Hans Ulrich Niedermann
2020-05-15  3:43 ` Hans Ulrich Niedermann [this message]
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 20/27] multiboot2: mips build wants __start symbol Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 21/27] multiboot2: "make distcheck" with example kernel enabled Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 22/27] multiboot2: Always define the kernel_* vars Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 23/27] multiboot2: Generate per object file listings Hans Ulrich Niedermann
2020-05-15 15:14   ` Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 24/27] multiboot2: Generate a kernel.map map file Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 25/27] multiboot2: Generate gcc temp files (*.i and *.s) Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 26/27] multiboot2: Generate symbol lists and disassembly file Hans Ulrich Niedermann
2020-05-15  3:43 ` [MULTIBOOT2 SPEC PATCH v4 27/27] multiboot2: Add labels around the termination tag Hans Ulrich Niedermann

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=20200515034349.133092-20-hun@n-dimensional.de \
    --to=hun@n-dimensional.de \
    --cc=grub-devel@gnu.org \
    /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.