aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2023-08-06 12:44:20 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-08-06 12:45:46 +0000
commita52cf54689f6e7d7b8867b0d39ab4e1cb7692564 (patch)
treed9eb74eb383fd270dab53c4d68c9e6e9fea86689
parentaebef91ea1cb1d158057eddf2212b667f4ab880e (diff)
downloadports-a52cf54689f6e7d7b8867b0d39ab4e1cb7692564.tar.gz
ports-a52cf54689f6e7d7b8867b0d39ab4e1cb7692564.zip
devel/binutils: Revert "devel/binutils: Update to 2.41"
This was an accidental misoperation of git. This reverts commit 14211774c4d7d56fd534d38748287ff270d0d469.
-rw-r--r--devel/binutils/Makefile4
-rw-r--r--devel/binutils/distinfo6
-rw-r--r--devel/binutils/files/patch-bfd_elf.c39
-rw-r--r--devel/binutils/files/patch-ld_ldlang.c12
-rw-r--r--devel/binutils/pkg-plist9
5 files changed, 60 insertions, 10 deletions
diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile
index 307e6b26e72f..76158eca0d44 100644
--- a/devel/binutils/Makefile
+++ b/devel/binutils/Makefile
@@ -1,5 +1,6 @@
PORTNAME= binutils
-DISTVERSION= 2.41
+DISTVERSION= 2.40
+PORTREVISION= 4
PORTEPOCH?= 1
CATEGORIES?= devel
MASTER_SITES= GNU \
@@ -117,7 +118,6 @@ INFO= as \
gprof \
bfd \
ld \
- ldint \
sframe-spec
.endif
diff --git a/devel/binutils/distinfo b/devel/binutils/distinfo
index 04808f860761..14280232a4b2 100644
--- a/devel/binutils/distinfo
+++ b/devel/binutils/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1690831336
-SHA256 (binutils-2.41.tar.lz) = eab3444055882ed5eb04e2743d03f0c0e1bc950197a4ddd31898cd5a2843d065
-SIZE (binutils-2.41.tar.lz) = 26307264
+TIMESTAMP = 1673799644
+SHA256 (binutils-2.40.tar.lz) = 48e65ecee1bbcf334d7efb4ea8487fe048dea522e5da3bdf7fa42b1ec779ea33
+SIZE (binutils-2.40.tar.lz) = 24784952
diff --git a/devel/binutils/files/patch-bfd_elf.c b/devel/binutils/files/patch-bfd_elf.c
new file mode 100644
index 000000000000..7f27ebb80a10
--- /dev/null
+++ b/devel/binutils/files/patch-bfd_elf.c
@@ -0,0 +1,39 @@
+--- bfd/elf.c.orig 2023-01-14 00:00:00 UTC
++++ bfd/elf.c
+@@ -3870,21 +3870,23 @@ assign_section_numbers (bfd *abfd, struct bfd_link_inf
+ {
+ case SHT_REL:
+ case SHT_RELA:
+- /* A reloc section which we are treating as a normal BFD
+- section. sh_link is the section index of the symbol
+- table. sh_info is the section index of the section to
+- which the relocation entries apply. We assume that an
+- allocated reloc section uses the dynamic symbol table
+- if there is one. Otherwise we guess the normal symbol
+- table. FIXME: How can we be sure? */
+- if (d->this_hdr.sh_link == 0 && (sec->flags & SEC_ALLOC) != 0)
++ /* sh_link is the section index of the symbol table.
++ sh_info is the section index of the section to which the
++ relocation entries apply. */
++ if (d->this_hdr.sh_link == 0)
+ {
+- s = bfd_get_section_by_name (abfd, ".dynsym");
+- if (s != NULL)
+- d->this_hdr.sh_link = elf_section_data (s)->this_idx;
++ /* FIXME maybe: If this is a reloc section which we are
++ treating as a normal section then we likely should
++ not be assuming its sh_link is .dynsym or .symtab. */
++ if ((sec->flags & SEC_ALLOC) != 0)
++ {
++ s = bfd_get_section_by_name (abfd, ".dynsym");
++ if (s != NULL)
++ d->this_hdr.sh_link = elf_section_data (s)->this_idx;
++ }
++ else
++ d->this_hdr.sh_link = elf_onesymtab (abfd);
+ }
+- if (d->this_hdr.sh_link == 0)
+- d->this_hdr.sh_link = elf_onesymtab (abfd);
+
+ s = elf_get_reloc_section (sec);
+ if (s != NULL)
diff --git a/devel/binutils/files/patch-ld_ldlang.c b/devel/binutils/files/patch-ld_ldlang.c
new file mode 100644
index 000000000000..7652eabe9184
--- /dev/null
+++ b/devel/binutils/files/patch-ld_ldlang.c
@@ -0,0 +1,12 @@
+--- ld/ldlang.c.orig 2023-01-13 16:00:00.000000000 -0800
++++ ld/ldlang.c 2023-05-13 21:48:06.006092000 -0700
+@@ -649,7 +649,8 @@
+ looking at the sections for this file. */
+
+ /* Find the correct node to append this section. */
+- if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
++ if (sec && sec->spec.sorted != none && sec->spec.sorted != by_none
++ && compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
+ tree = &((*tree)->left);
+ else
+ tree = &((*tree)->right);
diff --git a/devel/binutils/pkg-plist b/devel/binutils/pkg-plist
index 0d52d79181c3..eeb7f38341b0 100644
--- a/devel/binutils/pkg-plist
+++ b/devel/binutils/pkg-plist
@@ -28,7 +28,7 @@ include/sframe-api.h
include/sframe.h
include/symcat.h
%%SHARED%%lib/bfd-plugins/libdep.so
-%%SHARED%%lib/libbfd-2.41.so
+%%SHARED%%lib/libbfd-2.40.so
lib/libbfd.a
%%SHARED%%lib/libbfd.so
lib/libctf-nobfd.a
@@ -39,13 +39,13 @@ lib/libctf.a
%%SHARED%%lib/libctf.so
%%SHARED%%lib/libctf.so.0
%%SHARED%%lib/libctf.so.0.0.0
-%%SHARED%%lib/libopcodes-2.41.so
+%%SHARED%%lib/libopcodes-2.40.so
lib/libopcodes.a
%%SHARED%%lib/libopcodes.so
lib/libsframe.a
%%SHARED%%lib/libsframe.so
-%%SHARED%%lib/libsframe.so.1
-%%SHARED%%lib/libsframe.so.1.0.0
+%%SHARED%%lib/libsframe.so.0
+%%SHARED%%lib/libsframe.so.0.0.0
man/man1/addr2line.1.gz
man/man1/ar.1.gz
man/man1/as.1.gz
@@ -116,7 +116,6 @@ man/man1/strip.1.gz
%%NLS%%share/locale/ja/LC_MESSAGES/gas.mo
%%NLS%%share/locale/ja/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/ja/LC_MESSAGES/ld.mo
-%%NLS%%share/locale/ka/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/ka/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/ms/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/nl/LC_MESSAGES/gprof.mo