]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
include, libctf, binutils: drop labels
authorNick Alcock <nick.alcock@oracle.com>
Thu, 24 Apr 2025 12:32:57 +0000 (13:32 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Fri, 25 Apr 2025 17:07:41 +0000 (18:07 +0100)
These have never been implemented properly and don't work with the linker or
deduplicator: BTF has nothing like them, so the default assumption should be
that we drop them.  If we need something like them in future, we can add
them back (which we do not expect).

Quite a bit of label detritus is left in libctf after this: it's tied up
with later changes so will be removed as part of later commits.  (Because
the entire thing is disabled, the non-compilability of this intermediate
state is not a concern.)

binutils/objdump.c
binutils/readelf.c
include/ctf-api.h
libctf/Makefile.am
libctf/Makefile.in
libctf/ctf-dump.c
libctf/ctf-labels.c [deleted file]
libctf/libctf.ver

index bbc34ed21dd554ae9325ab0cf2a0dae4ce91d9e3..bb791e2a8b334816466c510fa401c8b279e81a2e 100644 (file)
@@ -4817,9 +4817,8 @@ static void
 dump_ctf_archive_member (ctf_dict_t *ctf, const char *name, ctf_dict_t *parent,
                         size_t member)
 {
-  const char *things[] = {"Header", "Labels", "Data objects",
-                         "Function objects", "Variables", "Types", "Strings",
-                         ""};
+  const char *things[] = {"Header", "Data objects", "Function objects",
+                         "Variables", "Types", "Strings", ""};
   const char **thing;
   size_t i;
 
index d71ec194bdac3ddf6142b093fbd9f796e67fde73..062ad3eb7900910de81786031ce783bac7d1b5a7 100644 (file)
@@ -16940,9 +16940,8 @@ static void
 dump_ctf_archive_member (ctf_dict_t *ctf, const char *name, ctf_dict_t *parent,
                         size_t member)
 {
-  const char *things[] = {"Header", "Labels", "Data objects",
-                         "Function objects", "Variables", "Types", "Strings",
-                         ""};
+  const char *things[] = {"Header", "Data objects", "Function objects",
+                         "Variables", "Types", "Strings", ""};
   const char **thing;
   size_t i;
 
index afaa08c13da7c120b891bea1f95b588a7c388665..2554c27546048e680e54fbb9ce919e2e3ff0b683 100644 (file)
@@ -124,7 +124,6 @@ typedef struct ctf_link_sym
 typedef enum ctf_sect_names
   {
    CTF_SECT_HEADER,
-   CTF_SECT_LABEL,
    CTF_SECT_OBJT,
    CTF_SECT_OBJTIDX = CTF_SECT_OBJT,
    CTF_SECT_FUNC,
@@ -165,11 +164,6 @@ typedef struct ctf_funcinfo
   uint32_t ctc_flags;          /* Function attributes (see below).  */
 } ctf_funcinfo_t;
 
-typedef struct ctf_lblinfo
-{
-  ctf_id_t ctb_type;           /* Last type associated with the label.  */
-} ctf_lblinfo_t;
-
 typedef struct ctf_snapshot_id
 {
   unsigned long dtd_id;                /* Highest DTD ID at time of snapshot.  */
@@ -221,8 +215,6 @@ typedef struct ctf_snapshot_id
   _CTF_ITEM (ECTF_NOFUNCDAT, "No function information available for function.") \
   _CTF_ITEM (ECTF_NOTDATA, "Symbol table entry does not refer to a data object.") \
   _CTF_ITEM (ECTF_NOTYPEDAT, "No type information available for symbol.") \
-  _CTF_ITEM (ECTF_NOLABEL, "No label found corresponding to name.") \
-  _CTF_ITEM (ECTF_NOLABELDATA, "File does not contain any labels.") \
   _CTF_ITEM (ECTF_NOTSUP, "Feature not supported.") \
   _CTF_ITEM (ECTF_NOENUMNAM, "Enumerator name not found.") \
   _CTF_ITEM (ECTF_NOMEMBNAM, "Member name not found.") \
@@ -310,7 +302,6 @@ typedef int ctf_enum_f (const char *name, int val, void *arg);
 typedef int ctf_variable_f (const char *name, ctf_id_t type, void *arg);
 typedef int ctf_type_f (ctf_id_t type, void *arg);
 typedef int ctf_type_all_f (ctf_id_t type, int flag, void *arg);
-typedef int ctf_label_f (const char *name, const ctf_lblinfo_t *info,
                         void *arg);
 typedef int ctf_archive_member_f (ctf_dict_t *fp, const char *name, void *arg);
 typedef int ctf_archive_raw_member_f (const char *name, const void *content,
@@ -1025,13 +1016,6 @@ extern ctf_dict_t *ctf_arc_open_by_name_sections (const ctf_archive_t *arc,
 
 extern int ctf_gzwrite (ctf_dict_t *fp, gzFile fd);
 
-/* Deprecated functions with no current use.  */
-
-extern const char *ctf_label_topmost (ctf_dict_t *);
-extern int ctf_label_info (ctf_dict_t *, const char *, ctf_lblinfo_t *);
-extern int ctf_label_iter (ctf_dict_t *, ctf_label_f *, void *);
-extern int ctf_label_next (ctf_dict_t *, ctf_next_t **, const char **); /* TBD */
-
 #ifdef __cplusplus
 }
 #endif
index 1620df61e80ab40b7d656c8849fe17ceb3dbefbe..7afdd30d8b0ad5ad86251ec3312d1b1de875edb6 100644 (file)
@@ -57,9 +57,8 @@ libctf_ldflags_nover = $(libctf_version_info) @SHARED_LDFLAGS@
 libctf_nobfd_la_LDFLAGS = $(libctf_ldflags_nover) @VERSION_FLAGS_NOBFD@
 libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1
 libctf_nobfd_la_SOURCES = ctf-api.c ctf-archive.c ctf-dump.c ctf-create.c ctf-decl.c ctf-error.c \
-                         ctf-hash.c ctf-labels.c ctf-dedup.c ctf-link.c ctf-lookup.c \
-                         ctf-open.c ctf-port.c ctf-serialize.c ctf-sha1.c ctf-string.c \
-                         ctf-types.c ctf-util.c
+                         ctf-hash.c ctf-dedup.c ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c \
+                         ctf-serialize.c ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c
 if NEED_CTF_QSORT_R
 libctf_nobfd_la_SOURCES += ctf-qsort_r.c
 endif
index 298def58996690893298bbd35a77230242538b14..31fa27ee92ddd5d661b85b48e305e44a19cfcb78 100644 (file)
@@ -198,21 +198,20 @@ LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libctf_nobfd_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am__libctf_nobfd_la_SOURCES_DIST = ctf-api.c ctf-archive.c ctf-dump.c \
-       ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c \
-       ctf-dedup.c ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c \
-       ctf-serialize.c ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c \
-       ctf-qsort_r.c
+       ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-dedup.c \
+       ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c ctf-serialize.c \
+       ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c ctf-qsort_r.c
 @NEED_CTF_QSORT_R_TRUE@am__objects_1 = libctf_nobfd_la-ctf-qsort_r.lo
 am_libctf_nobfd_la_OBJECTS = libctf_nobfd_la-ctf-api.lo \
        libctf_nobfd_la-ctf-archive.lo libctf_nobfd_la-ctf-dump.lo \
        libctf_nobfd_la-ctf-create.lo libctf_nobfd_la-ctf-decl.lo \
        libctf_nobfd_la-ctf-error.lo libctf_nobfd_la-ctf-hash.lo \
-       libctf_nobfd_la-ctf-labels.lo libctf_nobfd_la-ctf-dedup.lo \
-       libctf_nobfd_la-ctf-link.lo libctf_nobfd_la-ctf-lookup.lo \
-       libctf_nobfd_la-ctf-open.lo libctf_nobfd_la-ctf-port.lo \
-       libctf_nobfd_la-ctf-serialize.lo libctf_nobfd_la-ctf-sha1.lo \
-       libctf_nobfd_la-ctf-string.lo libctf_nobfd_la-ctf-types.lo \
-       libctf_nobfd_la-ctf-util.lo $(am__objects_1)
+       libctf_nobfd_la-ctf-dedup.lo libctf_nobfd_la-ctf-link.lo \
+       libctf_nobfd_la-ctf-lookup.lo libctf_nobfd_la-ctf-open.lo \
+       libctf_nobfd_la-ctf-port.lo libctf_nobfd_la-ctf-serialize.lo \
+       libctf_nobfd_la-ctf-sha1.lo libctf_nobfd_la-ctf-string.lo \
+       libctf_nobfd_la-ctf-types.lo libctf_nobfd_la-ctf-util.lo \
+       $(am__objects_1)
 libctf_nobfd_la_OBJECTS = $(am_libctf_nobfd_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -227,20 +226,20 @@ libctf_nobfd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
 libctf_la_DEPENDENCIES = ../bfd/libbfd.la $(am__DEPENDENCIES_2)
 am__libctf_la_SOURCES_DIST = ctf-api.c ctf-archive.c ctf-dump.c \
-       ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c \
-       ctf-dedup.c ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c \
-       ctf-serialize.c ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c \
-       ctf-qsort_r.c ctf-open-bfd.c
+       ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-dedup.c \
+       ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c ctf-serialize.c \
+       ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c ctf-qsort_r.c \
+       ctf-open-bfd.c
 @NEED_CTF_QSORT_R_TRUE@am__objects_2 = libctf_la-ctf-qsort_r.lo
 am__objects_3 = libctf_la-ctf-api.lo libctf_la-ctf-archive.lo \
        libctf_la-ctf-dump.lo libctf_la-ctf-create.lo \
        libctf_la-ctf-decl.lo libctf_la-ctf-error.lo \
-       libctf_la-ctf-hash.lo libctf_la-ctf-labels.lo \
-       libctf_la-ctf-dedup.lo libctf_la-ctf-link.lo \
-       libctf_la-ctf-lookup.lo libctf_la-ctf-open.lo \
-       libctf_la-ctf-port.lo libctf_la-ctf-serialize.lo \
-       libctf_la-ctf-sha1.lo libctf_la-ctf-string.lo \
-       libctf_la-ctf-types.lo libctf_la-ctf-util.lo $(am__objects_2)
+       libctf_la-ctf-hash.lo libctf_la-ctf-dedup.lo \
+       libctf_la-ctf-link.lo libctf_la-ctf-lookup.lo \
+       libctf_la-ctf-open.lo libctf_la-ctf-port.lo \
+       libctf_la-ctf-serialize.lo libctf_la-ctf-sha1.lo \
+       libctf_la-ctf-string.lo libctf_la-ctf-types.lo \
+       libctf_la-ctf-util.lo $(am__objects_2)
 am_libctf_la_OBJECTS = $(am__objects_3) libctf_la-ctf-open-bfd.lo
 libctf_la_OBJECTS = $(am_libctf_la_OBJECTS)
 libctf_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -609,10 +608,9 @@ libctf_ldflags_nover = $(libctf_version_info) @SHARED_LDFLAGS@
 libctf_nobfd_la_LDFLAGS = $(libctf_ldflags_nover) @VERSION_FLAGS_NOBFD@
 libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1
 libctf_nobfd_la_SOURCES = ctf-api.c ctf-archive.c ctf-dump.c \
-       ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c \
-       ctf-dedup.c ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c \
-       ctf-serialize.c ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c \
-       $(am__append_1)
+       ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-dedup.c \
+       ctf-link.c ctf-lookup.c ctf-open.c ctf-port.c ctf-serialize.c \
+       ctf-sha1.c ctf-string.c ctf-types.c ctf-util.c $(am__append_1)
 
 # @CTF_LIBADD@ appears here twice: once, to force libiberty to get searched before
 # install-time libbfd adds a -L to the install dir (possibly pointing at an
@@ -766,7 +764,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-dump.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-error.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-hash.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-labels.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-link.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-lookup.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_la-ctf-open-bfd.Plo@am__quote@
@@ -786,7 +783,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-dump.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-error.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-hash.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-labels.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-link.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-lookup.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctf_nobfd_la-ctf-open.Plo@am__quote@
@@ -868,13 +864,6 @@ libctf_nobfd_la-ctf-hash.lo: ctf-hash.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_nobfd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libctf_nobfd_la-ctf-hash.lo `test -f 'ctf-hash.c' || echo '$(srcdir)/'`ctf-hash.c
 
-libctf_nobfd_la-ctf-labels.lo: ctf-labels.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_nobfd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libctf_nobfd_la-ctf-labels.lo -MD -MP -MF $(DEPDIR)/libctf_nobfd_la-ctf-labels.Tpo -c -o libctf_nobfd_la-ctf-labels.lo `test -f 'ctf-labels.c' || echo '$(srcdir)/'`ctf-labels.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libctf_nobfd_la-ctf-labels.Tpo $(DEPDIR)/libctf_nobfd_la-ctf-labels.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ctf-labels.c' object='libctf_nobfd_la-ctf-labels.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_nobfd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libctf_nobfd_la-ctf-labels.lo `test -f 'ctf-labels.c' || echo '$(srcdir)/'`ctf-labels.c
-
 libctf_nobfd_la-ctf-dedup.lo: ctf-dedup.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_nobfd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libctf_nobfd_la-ctf-dedup.lo -MD -MP -MF $(DEPDIR)/libctf_nobfd_la-ctf-dedup.Tpo -c -o libctf_nobfd_la-ctf-dedup.lo `test -f 'ctf-dedup.c' || echo '$(srcdir)/'`ctf-dedup.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libctf_nobfd_la-ctf-dedup.Tpo $(DEPDIR)/libctf_nobfd_la-ctf-dedup.Plo
@@ -1001,13 +990,6 @@ libctf_la-ctf-hash.lo: ctf-hash.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libctf_la-ctf-hash.lo `test -f 'ctf-hash.c' || echo '$(srcdir)/'`ctf-hash.c
 
-libctf_la-ctf-labels.lo: ctf-labels.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libctf_la-ctf-labels.lo -MD -MP -MF $(DEPDIR)/libctf_la-ctf-labels.Tpo -c -o libctf_la-ctf-labels.lo `test -f 'ctf-labels.c' || echo '$(srcdir)/'`ctf-labels.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libctf_la-ctf-labels.Tpo $(DEPDIR)/libctf_la-ctf-labels.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ctf-labels.c' object='libctf_la-ctf-labels.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libctf_la-ctf-labels.lo `test -f 'ctf-labels.c' || echo '$(srcdir)/'`ctf-labels.c
-
 libctf_la-ctf-dedup.lo: ctf-dedup.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libctf_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libctf_la-ctf-dedup.lo -MD -MP -MF $(DEPDIR)/libctf_la-ctf-dedup.Tpo -c -o libctf_la-ctf-dedup.lo `test -f 'ctf-dedup.c' || echo '$(srcdir)/'`ctf-dedup.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libctf_la-ctf-dedup.Tpo $(DEPDIR)/libctf_la-ctf-dedup.Plo
index d38d12ee1b3d8c65d4cc20004cbca001a75aeb71..64c6a09f65f5bc30746b447481719e0174c9c531 100644 (file)
@@ -754,14 +754,6 @@ ctf_dump (ctf_dict_t *fp, ctf_dump_state_t **statep, ctf_sect_names_t sect,
        case CTF_SECT_HEADER:
          ctf_dump_header (fp, state);
          break;
-       case CTF_SECT_LABEL:
-         if (ctf_label_iter (fp, ctf_dump_label, state) < 0)
-           {
-             if (ctf_errno (fp) != ECTF_NOLABELDATA)
-               goto end;               /* errno is set for us.  */
-             ctf_set_errno (fp, 0);
-           }
-         break;
        case CTF_SECT_OBJT:
          if (ctf_dump_objts (fp, state, 0) < 0)
            goto end;                   /* errno is set for us.  */
diff --git a/libctf/ctf-labels.c b/libctf/ctf-labels.c
deleted file mode 100644 (file)
index 6a7b452..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Labelled ranges of type IDs.
-   Copyright (C) 2019-2025 Free Software Foundation, Inc.
-
-   This file is part of libctf.
-
-   libctf is free software; you can redistribute it and/or modify it under
-   the terms of the GNU General Public License as published by the Free
-   Software Foundation; either version 3, or (at your option) any later
-   version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-   See the GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; see the file COPYING.  If not see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <ctf-impl.h>
-#include <string.h>
-
-static int
-extract_label_info (ctf_dict_t *fp, const ctf_lblent_t **ctl,
-                   uint32_t *num_labels)
-{
-  const ctf_header_t *h;
-
-  h = (const ctf_header_t *) fp->ctf_data.cts_data;
-
-  *ctl = (const ctf_lblent_t *) (fp->ctf_buf + h->cth_lbloff);
-  *num_labels = (h->cth_objtoff - h->cth_lbloff) / sizeof (ctf_lblent_t);
-
-  return 0;
-}
-
-/* Returns the topmost label, or NULL if any errors are encountered.  */
-
-const char *
-ctf_label_topmost (ctf_dict_t *fp)
-{
-  const ctf_lblent_t *ctlp = NULL;
-  const char *s;
-  uint32_t num_labels = 0;
-
-  if (extract_label_info (fp, &ctlp, &num_labels) < 0)
-    return NULL;                               /* errno is set for us.  */
-
-  if (num_labels == 0)
-    {
-      (void) ctf_set_errno (fp, ECTF_NOLABELDATA);
-      return NULL;
-    }
-
-  if ((s = ctf_strraw (fp, (ctlp + num_labels - 1)->ctl_label)) == NULL)
-    (void) ctf_set_errno (fp, ECTF_CORRUPT);
-
-  return s;
-}
-
-/* Iterate over all labels.  We pass the label string and the lblinfo_t struct
-   to the specified callback function.  */
-int
-ctf_label_iter (ctf_dict_t *fp, ctf_label_f *func, void *arg)
-{
-  const ctf_lblent_t *ctlp = NULL;
-  uint32_t i;
-  uint32_t num_labels = 0;
-  ctf_lblinfo_t linfo;
-  const char *lname;
-  int rc;
-
-  if (extract_label_info (fp, &ctlp, &num_labels) < 0)
-    return -1;                 /* errno is set for us.  */
-
-  if (num_labels == 0)
-    return (ctf_set_errno (fp, ECTF_NOLABELDATA));
-
-  for (i = 0; i < num_labels; i++, ctlp++)
-    {
-      if ((lname = ctf_strraw (fp, ctlp->ctl_label)) == NULL)
-       {
-         /* Not marked for translation: label code not used yet.  */
-         ctf_err_warn (fp, 0, ECTF_CORRUPT,
-                       "failed to decode label %u with type %u",
-                       ctlp->ctl_label, ctlp->ctl_type);
-         return (ctf_set_errno (fp, ECTF_CORRUPT));
-       }
-
-      linfo.ctb_type = ctlp->ctl_type;
-      if ((rc = func (lname, &linfo, arg)) != 0)
-       return rc;
-    }
-
-  return 0;
-}
-
-typedef struct linfo_cb_arg
-{
-  const char *lca_name;                /* Label we want to retrieve info for.  */
-  ctf_lblinfo_t *lca_info;     /* Where to store the info about the label.  */
-} linfo_cb_arg_t;
-
-static int
-label_info_cb (const char *lname, const ctf_lblinfo_t *linfo, void *arg)
-{
-  /* If lname matches the label we are looking for, copy the
-    lblinfo_t struct for the caller.  */
-
-  if (strcmp (lname, ((linfo_cb_arg_t *) arg)->lca_name) == 0)
-    {
-      /* * Allow caller not to allocate storage to test if label exists.  */
-
-      if (((linfo_cb_arg_t *) arg)->lca_info != NULL)
-       memcpy (((linfo_cb_arg_t *) arg)->lca_info, linfo,
-              sizeof (ctf_lblinfo_t));
-      return 1;                /* Indicate we found a match.  */
-    }
-
-  return 0;
-}
-
-/* Retrieve information about the label with name "lname". */
-int
-ctf_label_info (ctf_dict_t *fp, const char *lname, ctf_lblinfo_t *linfo)
-{
-  linfo_cb_arg_t cb_arg;
-  int rc;
-
-  cb_arg.lca_name = lname;
-  cb_arg.lca_info = linfo;
-
-  if ((rc = ctf_label_iter (fp, label_info_cb, &cb_arg)) < 0)
-    return rc;
-
-  if (rc != 1)
-    return (ctf_set_errno (fp, ECTF_NOLABEL));
-
-  return 0;
-}
index b3d844ae58e95cf4efc3876e469d8e9f0bc73101..699c09a47f78d24c0dc2ab43732e426b837b2830 100644 (file)
@@ -89,8 +89,6 @@ LIBCTF_2.0 {
        ctf_enum_name;
        ctf_enum_value;
 
-       ctf_label_topmost;
-       ctf_label_info;
        ctf_lookup_enumerator;
        ctf_lookup_enumerator_next;
        ctf_arc_lookup_enumerator_next;
@@ -101,7 +99,6 @@ LIBCTF_2.0 {
        ctf_type_iter;
        ctf_type_next;
        ctf_type_iter_all;
-       ctf_label_iter;
        ctf_variable_iter;
        ctf_variable_next;