BPF Archive on lore.kernel.org
 help / color / Atom feed
From: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
To: ast@kernel.org, daniel@iogearbox.net, yhs@fb.com,
	davem@davemloft.net, jakub.kicinski@netronome.com,
	hawk@kernel.org, john.fastabend@gmail.com
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org, clang-built-linux@googlegroups.com,
	sergei.shtylyov@cogentembedded.com,
	Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Subject: [PATCH v3 bpf-next 09/14] samples: bpf: makefile: use own flags but not host when cross compile
Date: Mon, 16 Sep 2019 13:54:28 +0300
Message-ID: <20190916105433.11404-10-ivan.khoronzhuk@linaro.org> (raw)
In-Reply-To: <20190916105433.11404-1-ivan.khoronzhuk@linaro.org>

While compile natively, the hosts cflags and ldflags are equal to ones
used from HOSTCFLAGS and HOSTLDFLAGS. When cross compiling it should
have own, used for target arch. While verification, for arm, arm64 and
x86_64 the following flags were used alsways:

-Wall
-O2
-fomit-frame-pointer
-Wmissing-prototypes
-Wstrict-prototypes

So, add them as they were verified and used before adding
Makefile.target, but anyway limit it only for cross compile options as
for host can be some configurations when another options can be used,
So, for host arch samples left all as is, it allows to avoid potential
option mistmatches for existent environments.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
---
 samples/bpf/Makefile | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index 1579cc16a1c2..b5c87a8b8b51 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -178,8 +178,17 @@ CLANG_EXTRA_CFLAGS := $(ARM_ARCH_SELECTOR)
 TPROGS_CFLAGS += $(ARM_ARCH_SELECTOR)
 endif
 
+ifdef CROSS_COMPILE
+TPROGS_CFLAGS += -Wall
+TPROGS_CFLAGS += -O2
+TPROGS_CFLAGS += -fomit-frame-pointer
+TPROGS_CFLAGS += -Wmissing-prototypes
+TPROGS_CFLAGS += -Wstrict-prototypes
+else
 TPROGS_LDLIBS := $(KBUILD_HOSTLDLIBS)
 TPROGS_CFLAGS += $(KBUILD_HOSTCFLAGS) $(HOST_EXTRACFLAGS)
+endif
+
 TPROGS_CFLAGS += -I$(objtree)/usr/include
 TPROGS_CFLAGS += -I$(srctree)/tools/lib/bpf/
 TPROGS_CFLAGS += -I$(srctree)/tools/testing/selftests/bpf/
-- 
2.17.1


  parent reply index

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-16 10:54 [PATCH v3 bpf-next 00/14] samples: bpf: improve/fix cross-compilation Ivan Khoronzhuk
2019-09-16 10:54 ` [PATCH v3 bpf-next 01/14] samples: bpf: makefile: fix HDR_PROBE "echo" Ivan Khoronzhuk
2019-09-16 20:13   ` Andrii Nakryiko
2019-09-16 21:22     ` Ivan Khoronzhuk
2019-09-16 21:35     ` Andreas Schwab
2019-09-16 22:01       ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 02/14] samples: bpf: makefile: fix cookie_uid_helper_example obj build Ivan Khoronzhuk
2019-09-16 20:18   ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 03/14] samples: bpf: makefile: use --target from cross-compile Ivan Khoronzhuk
2019-09-16 20:25   ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 04/14] samples: bpf: use own EXTRA_CFLAGS for clang commands Ivan Khoronzhuk
2019-09-16 20:35   ` Andrii Nakryiko
2019-09-16 22:01     ` Ivan Khoronzhuk
2019-09-16 10:54 ` [PATCH v3 bpf-next 05/14] samples: bpf: makefile: use __LINUX_ARM_ARCH__ selector for arm Ivan Khoronzhuk
2019-09-16 20:44   ` Andrii Nakryiko
2019-09-16 22:04     ` Ivan Khoronzhuk
2019-09-16 10:54 ` [PATCH v3 bpf-next 06/14] samples: bpf: makefile: drop unnecessarily inclusion for bpf_load Ivan Khoronzhuk
2019-09-16 20:52   ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 07/14] samples: bpf: add makefile.target for separate CC target build Ivan Khoronzhuk
2019-09-17 23:19   ` Andrii Nakryiko
2019-09-18 10:12     ` Ivan Khoronzhuk
2019-09-18 21:22       ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 08/14] samples: bpf: makefile: base target programs rules on Makefile.target Ivan Khoronzhuk
2019-09-17 23:28   ` Andrii Nakryiko
2019-09-18 10:23     ` Ivan Khoronzhuk
2019-09-16 10:54 ` Ivan Khoronzhuk [this message]
2019-09-17 10:14   ` [PATCH v3 bpf-next 09/14] samples: bpf: makefile: use own flags but not host when cross compile Sergei Shtylyov
2019-09-17 23:42   ` Andrii Nakryiko
2019-09-18 10:35     ` Ivan Khoronzhuk
2019-09-18 21:29       ` Andrii Nakryiko
2019-09-19 14:18         ` Ivan Khoronzhuk
2019-09-19 17:54           ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 10/14] samples: bpf: makefile: use target CC environment for HDR_PROBE Ivan Khoronzhuk
2019-09-18  4:20   ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 11/14] libbpf: makefile: add C/CXX/LDFLAGS to libbpf.so and test_libpf targets Ivan Khoronzhuk
2019-09-18  5:19   ` Andrii Nakryiko
2019-09-18 11:05     ` Ivan Khoronzhuk
2019-09-18 21:42       ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 12/14] samples: bpf: makefile: provide C/CXX/LD flags to libbpf Ivan Khoronzhuk
2019-09-18  5:20   ` Andrii Nakryiko
2019-09-16 10:54 ` [PATCH v3 bpf-next 13/14] samples: bpf: makefile: add sysroot support Ivan Khoronzhuk
2019-09-18  5:23   ` Andrii Nakryiko
2019-09-18 11:09     ` Ivan Khoronzhuk
2019-09-16 10:54 ` [PATCH v3 bpf-next 14/14] samples: bpf: README: add preparation steps and sysroot info Ivan Khoronzhuk
2019-09-18  5:33 ` [PATCH v3 bpf-next 00/14] samples: bpf: improve/fix cross-compilation Andrii Nakryiko

Reply instructions:

You may reply publically 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=20190916105433.11404-10-ivan.khoronzhuk@linaro.org \
    --to=ivan.khoronzhuk@linaro.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=hawk@kernel.org \
    --cc=jakub.kicinski@netronome.com \
    --cc=john.fastabend@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=yhs@fb.com \
    /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

BPF Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/bpf/0 bpf/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 bpf bpf/ https://lore.kernel.org/bpf \
		bpf@vger.kernel.org
	public-inbox-index bpf

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.bpf


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git