From: Ilie Halip <ilie.halip@gmail.com>
To: linux-kbuild@vger.kernel.org
Cc: Masahiro Yamada <masahiroy@kernel.org>,
clang-built-linux@googlegroups.com,
Ilie Halip <ilie.halip@gmail.com>
Subject: [RFC PATCH] lib: move memcat_p.o to obj-y
Date: Wed, 15 Jan 2020 13:52:49 +0200 [thread overview]
Message-ID: <20200115115249.27774-1-ilie.halip@gmail.com> (raw)
The semantics of `--undefined` differ between ld.bfd and ld.lld:
$ echo | gcc -x c -c - -o a.o
$ echo "EXTERN(test)" > a.lds
$ ld.bfd a.o -t a.lds -o - 2>/dev/null && objdump -t | grep test
0000000000000000 *UND* 0000000000000000 test
$ ld.lld a.o -t a.lds -o - 2>/dev/null && objdump -t | grep test
$
When building with CONFIG_STM=m, there are no in-kernel users of memcat_p()
and ld.lld discards this symbol because it's linked in via --no-whole-archive.
It's marked as undefined by a linker script but ld.lld discards it anyway (as
seen in the above snippet).
Work around the ld.lld behavior by moving the object file to obj-y.
Signed-off-by: Ilie Halip <ilie.halip@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/515
---
lib/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Makefile b/lib/Makefile
index 93217d44237f..eac343b81f77 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -30,7 +30,7 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
flex_proportions.o ratelimit.o show_mem.o \
is_single_threaded.o plist.o decompress.o kobject_uevent.o \
earlycpio.o seq_buf.o siphash.o dec_and_lock.o \
- nmi_backtrace.o nodemask.o win_minmax.o memcat_p.o
+ nmi_backtrace.o nodemask.o win_minmax.o
lib-$(CONFIG_PRINTK) += dump_stack.o
lib-$(CONFIG_MMU) += ioremap.o
@@ -45,7 +45,7 @@ obj-y += bcd.o sort.o parser.o debug_locks.o random32.o \
bsearch.o find_bit.o llist.o memweight.o kfifo.o \
percpu-refcount.o rhashtable.o \
once.o refcount.o usercopy.o errseq.o bucket_locks.o \
- generic-radix-tree.o
+ generic-radix-tree.o memcat_p.o
obj-$(CONFIG_STRING_SELFTEST) += test_string.o
obj-y += string_helpers.o
obj-$(CONFIG_TEST_STRING_HELPERS) += test-string_helpers.o
base-commit: ee02f9544ebd8d38900dfe955710897b99483686
--
2.17.1
next reply other threads:[~2020-01-15 11:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-15 11:52 Ilie Halip [this message]
2020-01-16 22:30 ` [RFC PATCH] lib: move memcat_p.o to obj-y Nick Desaulniers
2020-01-17 18:00 ` Masahiro Yamada
2020-03-04 5:00 ` Fāng-ruì Sòng
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=20200115115249.27774-1-ilie.halip@gmail.com \
--to=ilie.halip@gmail.com \
--cc=clang-built-linux@googlegroups.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=masahiroy@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox