From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
linux-kbuild@vger.kernel.org, bpf <bpf@vger.kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Andrew Morton <akpm@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Masahiro Yamada <masahiroy@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas@fjasle.eu>,
Zheng Yejian <zhengyejian1@huawei.com>,
Martin Kelly <martin.kelly@crowdstrike.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Josh Poimboeuf <jpoimboe@redhat.com>
Subject: [PATCH v2 05/16] scripts/sorttable: Make compare_extable() into two functions
Date: Thu, 02 Jan 2025 18:26:14 -0500 [thread overview]
Message-ID: <20250102232649.473667474@goodmis.org> (raw)
In-Reply-To: 20250102232609.529842248@goodmis.org
From: Steven Rostedt <rostedt@goodmis.org>
Instead of having the compare_extable() part of the sorttable.h header
where it get's defined twice, since it is a very simple function, just
define it twice in sorttable.c, and then it can use the proper read
functions for the word size and endianess and the Elf_Addr macro can be
removed from sorttable.h.
Also add a micro optimization. Instead of:
if (a < b)
return -1;
if (a > b)
return 1;
return 0;
That can be shorten to:
if (a < b)
return -1;
return a > b;
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
scripts/sorttable.c | 20 ++++++++++++++++++++
scripts/sorttable.h | 14 --------------
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/scripts/sorttable.c b/scripts/sorttable.c
index 4dcdbf7a5e26..3e2c17e91485 100644
--- a/scripts/sorttable.c
+++ b/scripts/sorttable.c
@@ -173,6 +173,26 @@ static inline unsigned int get_secindex(unsigned int shndx,
return r(&symtab_shndx_start[sym_offs]);
}
+static int compare_extable_32(const void *a, const void *b)
+{
+ Elf32_Addr av = r(a);
+ Elf32_Addr bv = r(b);
+
+ if (av < bv)
+ return -1;
+ return av > bv;
+}
+
+static int compare_extable_64(const void *a, const void *b)
+{
+ Elf64_Addr av = r8(a);
+ Elf64_Addr bv = r8(b);
+
+ if (av < bv)
+ return -1;
+ return av > bv;
+}
+
/* 32 bit and 64 bit are very similar */
#include "sorttable.h"
#define SORTTABLE_64
diff --git a/scripts/sorttable.h b/scripts/sorttable.h
index 7c06a754e31a..58e9cebe8362 100644
--- a/scripts/sorttable.h
+++ b/scripts/sorttable.h
@@ -23,7 +23,6 @@
#undef sort_mcount_loc
#undef elf_mcount_loc
#undef do_sort
-#undef Elf_Addr
#undef Elf_Ehdr
#undef Elf_Shdr
#undef Elf_Sym
@@ -38,7 +37,6 @@
# define sort_mcount_loc sort_mcount_loc_64
# define elf_mcount_loc elf_mcount_loc_64
# define do_sort do_sort_64
-# define Elf_Addr Elf64_Addr
# define Elf_Ehdr Elf64_Ehdr
# define Elf_Shdr Elf64_Shdr
# define Elf_Sym Elf64_Sym
@@ -52,7 +50,6 @@
# define sort_mcount_loc sort_mcount_loc_32
# define elf_mcount_loc elf_mcount_loc_32
# define do_sort do_sort_32
-# define Elf_Addr Elf32_Addr
# define Elf_Ehdr Elf32_Ehdr
# define Elf_Shdr Elf32_Shdr
# define Elf_Sym Elf32_Sym
@@ -157,17 +154,6 @@ static void *sort_orctable(void *arg)
}
#endif
-static int compare_extable(const void *a, const void *b)
-{
- Elf_Addr av = _r(a);
- Elf_Addr bv = _r(b);
-
- if (av < bv)
- return -1;
- if (av > bv)
- return 1;
- return 0;
-}
#ifdef MCOUNT_SORT_ENABLED
pthread_t mcount_sort_thread;
--
2.45.2
next prev parent reply other threads:[~2025-01-02 23:25 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-02 23:26 [PATCH v2 00/16] scripts/sorttable: ftrace: Remove place holders for weak functions in available_filter_functions Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 01/16] scripts/sorttable: Remove unused macro defines Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 02/16] scripts/sorttable: Remove unused write functions Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 03/16] scripts/sorttable: Remove unneeded Elf_Rel Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 04/16] scripts/sorttable: Have the ORC code use the _r() functions to read Steven Rostedt
2025-01-02 23:26 ` Steven Rostedt [this message]
2025-01-02 23:26 ` [PATCH v2 06/16] scripts/sorttable: Convert Elf_Ehdr to union Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 07/16] scripts/sorttable: Replace Elf_Shdr Macro with a union Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 08/16] scripts/sorttable: Convert Elf_Sym MACRO over to " Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 09/16] scripts/sorttable: Add helper functions for Elf_Ehdr Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 10/16] scripts/sorttable: Add helper functions for Elf_Shdr Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 11/16] scripts/sorttable: Add helper functions for Elf_Sym Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 12/16] scripts/sorttable: Use uint64_t for mcount sorting Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 13/16] scripts/sorttable: Move code from sorttable.h into sorttable.c Steven Rostedt
2025-01-03 23:02 ` Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 14/16] scripts/sorttable: Get start/stop_mcount_loc from ELF file directly Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 15/16] scripts/sorttable: Zero out weak functions in mcount_loc table Steven Rostedt
2025-01-02 23:26 ` [PATCH v2 16/16] scripts/sorttable: ftrace: Do not add weak functions to available_filter_functions Steven Rostedt
2025-02-05 0:13 ` Martin Kelly
2025-02-05 0:35 ` Steven Rostedt
2025-02-05 16:00 ` Martin Kelly
2025-01-02 23:31 ` [PATCH v2 00/16] scripts/sorttable: ftrace: Remove place holders for weak functions in available_filter_functions Steven Rostedt
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=20250102232649.473667474@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=bpf@vger.kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=jpoimboe@redhat.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=martin.kelly@crowdstrike.com \
--cc=masahiroy@kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=peterz@infradead.org \
--cc=torvalds@linux-foundation.org \
--cc=zhengyejian1@huawei.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
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.