[binutils-gdb] Make some ldlang functions inline

Alan Modra amodra@sourceware.org
Sat Jan 17 02:25:46 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1522f86f18a8ccbe2e91b800526278e155e6b07d

commit 1522f86f18a8ccbe2e91b800526278e155e6b07d
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jan 16 16:13:21 2026 +1030

    Make some ldlang functions inline
    
    These are small, and making them inline lets me call
    lang_statement_append without adding a forward declaration in the
    next patch.
    
            * ldlang.c (lang_for_each_statement, lang_list_init),
            (lang_statement_append): Move to..
            * ldlang.h: ..here making them inline functions.
            (bfd_input_just_syms): Group with other inlines.

Diff:
---
 ld/ldlang.c | 24 ------------------------
 ld/ldlang.h | 40 +++++++++++++++++++++++++++++-----------
 2 files changed, 29 insertions(+), 35 deletions(-)

diff --git a/ld/ldlang.c b/ld/ldlang.c
index a0368ecbe42..812542b5697 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1130,30 +1130,6 @@ lang_for_each_statement_worker (void (*func) (lang_statement_union_type *),
     }
 }
 
-void
-lang_for_each_statement (void (*func) (lang_statement_union_type *))
-{
-  lang_for_each_statement_worker (func, statement_list.head);
-}
-
-/*----------------------------------------------------------------------*/
-
-void
-lang_list_init (lang_statement_list_type *list)
-{
-  list->head = NULL;
-  list->tail = &list->head;
-}
-
-static void
-lang_statement_append (lang_statement_list_type *list,
-		       void *element,
-		       void *field)
-{
-  *(list->tail) = element;
-  list->tail = field;
-}
-
 void
 push_stat_ptr (lang_statement_list_type *new_ptr)
 {
diff --git a/ld/ldlang.h b/ld/ldlang.h
index bb1536e994b..f9010e27785 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -361,13 +361,6 @@ typedef struct input_section_userdata_struct
   unsigned long map_symbol_def_count;
 } input_section_userdata_type;
 
-static inline bool
-bfd_input_just_syms (const bfd *abfd)
-{
-  lang_input_statement_type *is = bfd_usrdata (abfd);
-  return is != NULL && is->flags.just_syms;
-}
-
 typedef struct lang_wild_statement_struct lang_wild_statement_type;
 
 typedef void (*callback_t) (lang_wild_statement_type *, struct wildcard_list *,
@@ -643,8 +636,6 @@ extern void ldlang_add_require_defined
   (const char *const);
 extern void lang_add_output_format
   (const char *, const char *, const char *, int);
-extern void lang_list_init
-  (lang_statement_list_type *);
 extern void push_stat_ptr
   (lang_statement_list_type *);
 extern void pop_stat_ptr
@@ -656,8 +647,6 @@ extern void lang_add_string
 extern void lang_add_reloc
   (bfd_reloc_code_real_type, reloc_howto_type *, asection *, const char *,
    union etree_union *);
-extern void lang_for_each_statement
-  (void (*) (lang_statement_union_type *));
 extern void lang_for_each_statement_worker
   (void (*) (lang_statement_union_type *), lang_statement_union_type *);
 extern void *stat_alloc
@@ -794,6 +783,35 @@ extern void cmdline_emit_object_only_section (void);
 extern void cmdline_check_object_only_section (bfd *, bool);
 extern void cmdline_remove_object_only_files (void);
 
+static inline bool
+bfd_input_just_syms (const bfd *abfd)
+{
+  lang_input_statement_type *is = bfd_usrdata (abfd);
+  return is != NULL && is->flags.just_syms;
+}
+
+static inline void
+lang_for_each_statement (void (*func) (lang_statement_union_type *))
+{
+  lang_for_each_statement_worker (func, statement_list.head);
+}
+
+static inline void
+lang_list_init (lang_statement_list_type *list)
+{
+  list->head = NULL;
+  list->tail = &list->head;
+}
+
+static inline void
+lang_statement_append (lang_statement_list_type *list,
+		       void *element,
+		       void *field)
+{
+  *(list->tail) = element;
+  list->tail = field;
+}
+
 /* Get the output section statement from section userdata.  */
 
 static inline lang_output_section_statement_type *


More information about the Binutils-cvs mailing list