pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/binutils



Module Name:    pkgsrc
Committed By:   jperkin
Date:           Mon Oct 12 09:10:09 UTC 2026

Modified Files:
        pkgsrc/devel/binutils: Makefile buildlink3.mk builtin.mk distinfo
            options.mk
        pkgsrc/devel/binutils/patches: patch-include_safe-ctype.h
Added Files:
        pkgsrc/devel/binutils: PLIST.nls
Removed Files:
        pkgsrc/devel/binutils: PLIST.NetBSD PLIST.common PLIST.i386
            PLIST.x86_64
        pkgsrc/devel/binutils/patches: patch-bfd_cache.c patch-gold_Makefile.in
            patch-gold_options.h patch-gold_system.h
            patch-gold_testsuite_Makefile.in patch-ld_Makefile.am
            patch-ld_Makefile.in patch-ld_configure.tgt
            patch-ld_emulparams_aarch64nbsd.sh
            patch-ld_emulparams_aarch64nbsdb.sh
            patch-ld_emulparams_armelf__nbsd__eabi.sh
            patch-ld_emulparams_armelf__nbsd__eabihf.sh
            patch-ld_emulparams_armelfb__nbsd__eabi.sh
            patch-ld_emulparams_armelfb__nbsd__eabihf.sh

Log Message:
binutils: Update to 2.47.

Lots of pkgsrc changes to simplify and clean up the package.  Tested on SmartOS
(has been used to build the trunk packages for a number of weeks now), Darwin,
and NetBSD.

Changes since 2.41 below are for binutils only, not including gas and ld.

Changes in 2.47:

* The s390 32-bit target (s390-*) is deprecated and planned for removal in a
  future release, along with the elf32-s390 target format.  configure emits
  an error for this target, which can be overridden using --enable-obsolete.
  Linux Kernel 6.19 removed s390 32-bit compatibility support.  Glibc 2.43
  and GCC 16.1 have deprecated s390 32-bit, both with the intent to remove it
  in a future release.
  The s390 64-bit target (s390x-*) remains supported.

* The AArch64 disassembler now accepts a command line option of "-M annotate"
  which displays the symbol associated with undefined instructions, should
  there be one.

* The x86 and x86_64 disassemblers now accept a command line option of
  "-M annotate-immediates" which displays the symbol associated with immediate
  values, should there be one.

* Objdump and readelf now have a --debug-dir=<DIR> option which can be used to
  tell them where to find separate debug info files.

* Add --map-global-vars option to objdump which displays the location and type
  of global variables in object files. This feature was developed by Guillaume
  Vacherias <guillaume.vacherias%foss.st.com@localhost>.

Changes in 2.46:

* SFrame stack trace format now represents an undefined return address as
  an SFrame FRE without any offsets.  libsframe provides a new API to test
  for RA undefined, which is used when dumping SFrame information (e.g. using
  objdump and readelf) to show such FREs as "RA undefined".

* Add --got-contents option to readelf to display the contents of
  Global Offset Table (GOT) sections.

* Internal changes to plugin support, and stricter target checking may result
  in some errors being exposed in user options passed to the various binutils.
  For example objcopy --target=TARGET now will only work if the input file is
  for TARGET whereas prior versions of objcopy accepted other target input
  files and produced a TARGET output.  If you do in fact want the old
  behaviour the correct usage is objcopy --output-target=TARGET.

* NaCl target support is removed.

* New versioned release of libsframe: libsframe.so.3.  This release introduces
  versioned symbols with version node name LIBSFRAME_3.0.

* objdump and readelf now support displaying SFrame Version 3 information.
  The existing --sframe option can be used to display sections in the the new
  V3 format.  Display of SFrame Version 2 information continues to be supported
  (NB: Emission and linking of SFrame Version 2 is discontinued).

Changes in 2.45:

* New versioned release of libsframe: libsframe.so.2.  This release introduces
  versioned symbols with version node name LIBSFRAME_2.0.  Some new symbols
  have been added to support the new flag SFRAME_F_FDE_FUNC_START_PCREL and
  retrieving flags from SFrame decoder and encoder objects:
    - Addition of sframe_decoder_get_flags,
      sframe_decoder_get_offsetof_fde_start_addr, sframe_encoder_get_flags,
      sframe_encoder_get_offsetof_fde_start_addr.
  This release also includes backward-incompatible ABI changes:
    - Removal of sframe_get_funcdesc_with_addr.
    - Change in the behavior of sframe_decoder_get_funcdesc_v2,
      sframe_encoder_add_funcdesc_v2 and sframe_encoder_write.

* On s390 64-bit (s390x), gas, ld, objdump, and readelf now support generating
  and processing SFrame V2 stack trace information (.sframe).  The assembler
  generates SFrame info from CFI directives with option "--gsframe".  The
  linker generates SFrame info for the linker-generated .plt section and merges
  all .sframe sections.  Both objdump and readelf dump SFrame info with option
  "--sframe[=<section-name>]".

* For SFrame stack trace format, the function start address in each SFrame
  FDE has a changed encoding:  The 32-bit signed integer now holds the offset
  of the start PC of the associated function from the sfde_func_start_address
  field itself (instead of the earlier where it was the offset from the start
  of the SFrame section itself).  All SFrame sections generated by gas and ld
  now default to this new encoding, setting the (new)
  SFRAME_F_FDE_FUNC_START_PCREL flag.

  Relocatable SFrame links are now fixed.

* Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and
  GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp
  extensions.

* For RISC-V dis-assembler, the definition of mapping symbol $x is changed,
  so the file needs to be rebuilt since 2.45 once used .option arch directives.

* The LoongArch disassembler now properly accepts multiple disassembly
  options given by -M, such as "-M no-aliases,numeric".  (Previously only the
  first option took effect.)

Changes in 2.44:

* Support for Nios II targets has been removed except in the readelf utility,
  as this architecture has been EOL'ed by Intel.

* RISC-V disassembly now supports -M,max option like QEMU to dump instruction
  without checking architecture support as usual.

* gprofng:
  Support for hardware event counters for Neoverse-N1, Ampere-1, and
  Appliedmicro processors.

Changes in 2.43:

* The MIPS port now supports microMIPS MT Application Specific Extension
  instructions for assembly and disassembly.

* Readelf now displays RELR relocations in full detail.

* Readelf now has a -j/--display-section option which takes the name or index
  of a section and displays its contents according to its type.  The option can
  be used multiple times on the command line to display multiple sections.

* Base register 0 is now printed as "0" instead of "%r0" in s390 disassembly.

* When objdump or readelf are used to display the contents of a .eh_frame
  section they will now also display the contents of the .eh_frame_hdr section,
  if present.

* Support for the Maverick co-processor (via -mfpu=maverick) on Arm has been
  removed.  The CPU name ep9312 is still recognized, but treated as an alias
  for arm920t.

* Support for the FPA co-procossor on Arm has been removed.  In cases where a
  legacy CPU previously defaulted to using this instruction set extension, the
  assembler now defaults to no-FPU to avoid quietly misassembling legacy code.

* gprofng:
  Improved the support for hardware event counters:
    - Re-designed and streamlined the implementation.
    - Defined a common set of events for ARM processors.
    - Added specific events for AMD ZEN3 / ZEN4, and Intel Ice Lake processors.
  Added a minimal support for RISC-V.

Changes in 2.42:

* The objdump program has a new command line option -Z/--decompress which
  changes the behaviour of the -s/--full-contents option, forcing it to
  decompress the contents of any compressed section before they are displayed.

  In addition when objdump is displaying sections headers (via the -h/--headers
  command line option) it will now display "COMPRESSED" in the Flags field of
  any compressed section.

* The readelf program has a new command line option --extra-sym-info which
  extends the information displayed by the --symbols option.  When enabled
  the display will include the name of the section referenced by a symbol's
  index field (st_shndx).  In the future more information may also be displayed
  when this option is enabled.

* objcopy --set-section-flags now supports "large" to set SHF_X86_64_LARGE
  for ELF x86-64 objects.

* objdump --visualize-jumps is now supported on s390 architecture.

* The s390 disassembly now optionally includes the instruction description as
  comment with the s390-specific disassembler option "insndesc":
  - For objdump it can be enabled with "objdump -M insndesc ...".
  - In gdb it can be enabled with "set disassembler-options insndesc".


To generate a diff of this commit:
cvs rdiff -u -r1.114 -r1.115 pkgsrc/devel/binutils/Makefile
cvs rdiff -u -r1.2 -r0 pkgsrc/devel/binutils/PLIST.NetBSD \
    pkgsrc/devel/binutils/PLIST.x86_64
cvs rdiff -u -r1.42 -r0 pkgsrc/devel/binutils/PLIST.common
cvs rdiff -u -r1.1 -r0 pkgsrc/devel/binutils/PLIST.i386
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/binutils/PLIST.nls
cvs rdiff -u -r1.26 -r1.27 pkgsrc/devel/binutils/buildlink3.mk
cvs rdiff -u -r1.11 -r1.12 pkgsrc/devel/binutils/builtin.mk
cvs rdiff -u -r1.51 -r1.52 pkgsrc/devel/binutils/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/binutils/options.mk
cvs rdiff -u -r1.5 -r0 pkgsrc/devel/binutils/patches/patch-bfd_cache.c \
    pkgsrc/devel/binutils/patches/patch-gold_Makefile.in \
    pkgsrc/devel/binutils/patches/patch-gold_system.h
cvs rdiff -u -r1.6 -r0 pkgsrc/devel/binutils/patches/patch-gold_options.h \
    pkgsrc/devel/binutils/patches/patch-ld_Makefile.am \
    pkgsrc/devel/binutils/patches/patch-ld_Makefile.in
cvs rdiff -u -r1.2 -r0 \
    pkgsrc/devel/binutils/patches/patch-gold_testsuite_Makefile.in
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/devel/binutils/patches/patch-include_safe-ctype.h
cvs rdiff -u -r1.10 -r0 pkgsrc/devel/binutils/patches/patch-ld_configure.tgt
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/devel/binutils/patches/patch-ld_emulparams_aarch64nbsd.sh \
    pkgsrc/devel/binutils/patches/patch-ld_emulparams_aarch64nbsdb.sh \
    pkgsrc/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd__eabi.sh \
    pkgsrc/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd__eabihf.sh \
    pkgsrc/devel/binutils/patches/patch-ld_emulparams_armelfb__nbsd__eabi.sh \
    pkgsrc/devel/binutils/patches/patch-ld_emulparams_armelfb__nbsd__eabihf.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/binutils/Makefile
diff -u pkgsrc/devel/binutils/Makefile:1.114 pkgsrc/devel/binutils/Makefile:1.115
--- pkgsrc/devel/binutils/Makefile:1.114        Tue Nov 26 14:11:40 2024
+++ pkgsrc/devel/binutils/Makefile      Mon Oct 12 09:10:08 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.114 2024/11/26 14:11:40 bacon Exp $
+# $NetBSD: Makefile,v 1.115 2026/10/12 09:10:08 jperkin Exp $
 
-DISTNAME=      binutils-2.41
+DISTNAME=      binutils-2.47
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GNU:=binutils/}
 EXTRACT_SUFX=  .tar.bz2
@@ -12,29 +12,26 @@ LICENSE=    gnu-gpl-v2 AND gnu-gpl-v3 AND g
 
 CONFLICTS=     avr-binutils<2.13.2.1nb1
 
-USE_PKGLOCALEDIR=              yes
-REPLACE_LOCALEDIR_PATTERNS+=   Make-in
-
-USE_LANGUAGES=         c99 c++
+USE_CC_FEATURES=       c99
+USE_LANGUAGES=         c c++
 USE_LIBTOOL=           yes
+USE_PKGLOCALEDIR=      yes
 USE_TOOLS+=            gmake
-
 TOOLS_BROKEN+=         perl
+
 GNU_CONFIGURE=         yes
 GNU_CONFIGURE_STRICT=  no
-# Standard lib dirs on RHEL are named *lib64
-LIB_PATH=              /lib:/usr/lib
-.if exists(/usr/lib64)
-LIB_PATH:=             /usr/lib64:${LIB_PATH}
-.endif
-.if exists(/lib64)
-LIB_PATH:=             /lib64:${LIB_PATH}
-.endif
-CONFIGURE_ARGS+=       --with-lib-path=${LIB_PATH}
+CONFIGURE_ARGS+=       --enable-plugins
 CONFIGURE_ARGS+=       --program-prefix=g
-BINUTILS_PREFIX=       ${PREFIX}/${MACHINE_GNU_PLATFORM}
+CONFIGURE_ARGS+=       --with-lib-path=${COMPILER_LIB_DIRS:ts:}
+CONFIGURE_ARGS+=       --without-zlib
 
-PLIST_SRC=     ${PKGDIR}/PLIST.common
+REPLACE_LOCALEDIR_PATTERNS+=   Make-in
+
+MAKE_FLAGS+=   LEXLIB= # Avoid unnecessary runtime dependency on libfl/libl
+MAKE_FLAGS+=   V=1     # Avoid ignored and confusing @echo errors
+
+PLIST_SRC=     ${PKGDIR}/PLIST
 PLIST_SRC+=    ${WRKDIR}/PLIST_DYNAMIC
 
 INFO_FILES=    yes
@@ -47,7 +44,7 @@ INSTALLATION_DIRS=    ${PKGGNUDIR}bin ${PKG
 #
 # Supported utils and libraries differ quite a bit across platforms.
 #
-PLIST_VARS+=   ctf gas gold gprof ld ldint
+PLIST_VARS+=   ctf gas gprof ld
 
 .include "../../mk/bsd.prefs.mk"
 
@@ -58,7 +55,6 @@ PLIST_VARS+=  ctf gas gold gprof ld ldint
 CONFIGURE_ARGS+=       --disable-libctf
 .else
 PLIST.ctf=             yes
-PLIST.ldint=           yes
 .endif
 
 .if ${OPSYS} != "Darwin"
@@ -78,16 +74,6 @@ PLIST.gprof= yes
 PLIST.ld=      yes
 .endif
 
-.if ${OPSYS} == DragonFly \
-       || (${OPSYS} == FreeBSD && empty(OS_VERSION:M[12345678].*)) \
-       || (${OPSYS} == OpenBSD && empty(OS_VERSION:M[1234].*)) \
-       || (${OPSYS} == NetBSD && ${OPSYS_VERSION} > 050000) \
-       || ${OPSYS} == Linux
-PLIST.gold=            yes
-USE_TOOLS+=            bison
-CONFIGURE_ARGS+=       --enable-gold --enable-plugins
-.endif
-
 .include "../../mk/compiler.mk"
 .if !empty(PKGSRC_COMPILER:Mclang)
 CFLAGS+=       -Wno-unused-value -Wno-format-security \
@@ -100,7 +86,7 @@ CFLAGS+=     -Wno-unused-value -Wno-format-s
 
 SYMLINK_FILES= addr2line ar ${PLIST.gas:Das} c++filt dlltool elfedit \
                ${PLIST.gprof:Dgprof} ${PLIST.ld:Dld} ${PLIST.gld:Dld.bfd} \
-               ${PLIST.gold:Dld.gold dwp} nlmconv nm objcopy objdump \
+               nlmconv nm objcopy objdump \
                ranlib readelf size strings strip windmc windres
 
 post-install:

Index: pkgsrc/devel/binutils/buildlink3.mk
diff -u pkgsrc/devel/binutils/buildlink3.mk:1.26 pkgsrc/devel/binutils/buildlink3.mk:1.27
--- pkgsrc/devel/binutils/buildlink3.mk:1.26    Tue Jun 28 11:31:40 2022
+++ pkgsrc/devel/binutils/buildlink3.mk Mon Oct 12 09:10:08 2026
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.26 2022/06/28 11:31:40 wiz Exp $
+# $NetBSD: buildlink3.mk,v 1.27 2026/10/12 09:10:08 jperkin Exp $
 
 BUILDLINK_TREE+=       binutils
 
@@ -6,7 +6,7 @@ BUILDLINK_TREE+=        binutils
 BINUTILS_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.binutils+=       binutils>=2.22
-BUILDLINK_ABI_DEPENDS.binutils?=               binutils>=2.38nb1
+BUILDLINK_ABI_DEPENDS.binutils?=       binutils>=2.38nb1
 BUILDLINK_PKGSRCDIR.binutils?=         ../../devel/binutils
 BUILDLINK_DEPMETHOD.binutils?=         build
 .endif # BINUTILS_BUILDLINK3_MK

Index: pkgsrc/devel/binutils/builtin.mk
diff -u pkgsrc/devel/binutils/builtin.mk:1.11 pkgsrc/devel/binutils/builtin.mk:1.12
--- pkgsrc/devel/binutils/builtin.mk:1.11       Sun Nov  3 10:39:06 2019
+++ pkgsrc/devel/binutils/builtin.mk    Mon Oct 12 09:10:08 2026
@@ -1,4 +1,4 @@
-# $NetBSD: builtin.mk,v 1.11 2019/11/03 10:39:06 rillig Exp $
+# $NetBSD: builtin.mk,v 1.12 2026/10/12 09:10:08 jperkin Exp $
 
 BINUTILS_PREFIX?=      /usr
 
@@ -27,10 +27,10 @@ USE_BUILTIN.binutils=       no
 .  else
 USE_BUILTIN.binutils=  ${IS_BUILTIN.binutils}
 .    if defined(BUILTIN_PKG.binutils) && \
-        !empty(IS_BUILTIN.binutils:M[yY][eE][sS])
+        ${IS_BUILTIN.binutils:tl} == yes
 USE_BUILTIN.binutils=  yes
 .      for dep in ${BUILDLINK_API_DEPENDS.binutils}
-.        if !empty(USE_BUILTIN.binutils:M[yY][eE][sS])
+.        if ${USE_BUILTIN.binutils:tl} == yes
 USE_BUILTIN.binutils!=                                                 \
        if ${PKG_ADMIN} pmatch ${dep:Q} ${BUILTIN_PKG.binutils:Q}; then \
                ${ECHO} yes;                                            \
@@ -58,7 +58,7 @@ MAKEVARS+=            USE_BUILTIN.binutils
 # implementation.
 #
 .if defined(USE_BINUTILS)
-.  if !empty(IS_BUILTIN.binutils:M[nN][oO])
+.  if ${IS_BUILTIN.binutils:tl} == no
 USE_BUILTIN.binutils=  no
 .  endif
 .endif
@@ -68,9 +68,9 @@ USE_BUILTIN.binutils= no
 ### solely to determine whether a built-in implementation exists.
 ###
 CHECK_BUILTIN.binutils?=       no
-.if !empty(CHECK_BUILTIN.binutils:M[nN][oO])
+.if ${CHECK_BUILTIN.binutils:tl} == no
 
-.  if !empty(USE_BUILTIN.binutils:M[nN][oO])
+.  if ${USE_BUILTIN.binutils:tl} == no
 AR=    ${BUILDLINK_PREFIX.binutils}/bin/gar
 AS=    ${BUILDLINK_PREFIX.binutils}/bin/gas
 LD=    ${BUILDLINK_PREFIX.binutils}/bin/gld

Index: pkgsrc/devel/binutils/distinfo
diff -u pkgsrc/devel/binutils/distinfo:1.51 pkgsrc/devel/binutils/distinfo:1.52
--- pkgsrc/devel/binutils/distinfo:1.51 Mon Jul 31 14:08:34 2023
+++ pkgsrc/devel/binutils/distinfo      Mon Oct 12 09:10:08 2026
@@ -1,20 +1,6 @@
-$NetBSD: distinfo,v 1.51 2023/07/31 14:08:34 fcambus Exp $
+$NetBSD: distinfo,v 1.52 2026/10/12 09:10:08 jperkin Exp $
 
-BLAKE2s (binutils-2.41.tar.bz2) = bd20a803c6f86632b62e27fce2cb07eb0ee4aa06fb374d80c8ba235568466dd2
-SHA512 (binutils-2.41.tar.bz2) = 8c4303145262e84598d828e1a6465ddbf5a8ff757efe3fd981948854f32b311afe5b154be3966e50d85cf5d25217564c1f519d197165aac8e82efcadc9e1e47c
-Size (binutils-2.41.tar.bz2) = 37132937 bytes
-SHA1 (patch-bfd_cache.c) = e2d96bad350552eacdffa83532f9dc9e15ee9be9
-SHA1 (patch-gold_Makefile.in) = e01d973f9625a1653851f796c123efec37102fbd
-SHA1 (patch-gold_options.h) = 03816bbf157d781820d96a4d3af0885dc2bbbaa9
-SHA1 (patch-gold_system.h) = 9b4130b5315763daa66e0a91a8be6d1df0d10344
-SHA1 (patch-gold_testsuite_Makefile.in) = 24ede750675829281436d728d77073638f58d6b9
-SHA1 (patch-include_safe-ctype.h) = 66e636f8200ff5e9b4bfa0a5aee13cd072a23887
-SHA1 (patch-ld_Makefile.am) = 884eb668545d3229809b7fc51cc05b51d799b51a
-SHA1 (patch-ld_Makefile.in) = 7a6a9fb3aed47ddaec0f36c8cec4e0bd6b926027
-SHA1 (patch-ld_configure.tgt) = 4e277c9aa53926059d3227c7e85b3eb3ac60f29d
-SHA1 (patch-ld_emulparams_aarch64nbsd.sh) = 6489e5996eefdb8ba66c73d7425443109d47e6a9
-SHA1 (patch-ld_emulparams_aarch64nbsdb.sh) = 9980f3ca8cb7cac1b56c71c482b691fa2f7659a1
-SHA1 (patch-ld_emulparams_armelf__nbsd__eabi.sh) = 464b0957f95a1a8ba6a92ee0091b929d9c980470
-SHA1 (patch-ld_emulparams_armelf__nbsd__eabihf.sh) = 972678f6bab6e910fe7ac29c6c06f1a438d308a0
-SHA1 (patch-ld_emulparams_armelfb__nbsd__eabi.sh) = 67a519cac8986ab2520861bbd1100782295637d2
-SHA1 (patch-ld_emulparams_armelfb__nbsd__eabihf.sh) = 6f58d6aa6d601544d9ad00a9ac4fdc704390a42c
+BLAKE2s (binutils-2.47.tar.bz2) = f674cee1ddfcc16bbea682b7ac105caff4608e8718f67dcd6e59a5007fe73b92
+SHA512 (binutils-2.47.tar.bz2) = 107307c6427fcf078804c444711889d2eab5a3d08d6269445f635416236e5dee2d8bb3e024b2ece5ce4a17d647dfbe4523f0793a39e4e83ee819a36d1c66f6a7
+Size (binutils-2.47.tar.bz2) = 40570778 bytes
+SHA1 (patch-include_safe-ctype.h) = 50921760e66223102e61fd564953d7c6205b0b0b

Index: pkgsrc/devel/binutils/options.mk
diff -u pkgsrc/devel/binutils/options.mk:1.1 pkgsrc/devel/binutils/options.mk:1.2
--- pkgsrc/devel/binutils/options.mk:1.1        Fri Jan 29 13:10:34 2021
+++ pkgsrc/devel/binutils/options.mk    Mon Oct 12 09:10:08 2026
@@ -1,7 +1,7 @@
-# $NetBSD: options.mk,v 1.1 2021/01/29 13:10:34 jperkin Exp $
+# $NetBSD: options.mk,v 1.2 2026/10/12 09:10:08 jperkin Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.binutils
-PKG_SUPPORTED_OPTIONS= disable-ld
+PKG_SUPPORTED_OPTIONS= disable-ld nls
 
 .include "../../mk/bsd.prefs.mk"
 
@@ -17,8 +17,18 @@ PLIST_VARS+= gld
 # Disable ld completely.  With the introduction of "libdep.so" this may now be
 # required on some systems to avoid a dependency on libgcc.
 #
-.if !empty(PKG_OPTIONS:Mdisable-ld)
+.if ${PKG_OPTIONS:Mdisable-ld}
 CONFIGURE_ARGS+=       --disable-ld
 .else
 PLIST.gld=             yes
 .endif
+
+.if ${PKG_OPTIONS:Mnls}
+PREFER.gettext=                pkgsrc
+USE_TOOLS+=            msgfmt msgmerge xgettext
+CONFIGURE_ARGS+=       --enable-nls
+PLIST_SRC+=            PLIST.nls
+.include "../../devel/gettext-lib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --disable-nls
+.endif

Index: pkgsrc/devel/binutils/patches/patch-include_safe-ctype.h
diff -u pkgsrc/devel/binutils/patches/patch-include_safe-ctype.h:1.3 pkgsrc/devel/binutils/patches/patch-include_safe-ctype.h:1.4
--- pkgsrc/devel/binutils/patches/patch-include_safe-ctype.h:1.3        Sun Dec  6 18:07:53 2020
+++ pkgsrc/devel/binutils/patches/patch-include_safe-ctype.h    Mon Oct 12 09:10:09 2026
@@ -1,4 +1,7 @@
-$NetBSD: patch-include_safe-ctype.h,v 1.3 2020/12/06 18:07:53 fcambus Exp $
+$NetBSD: patch-include_safe-ctype.h,v 1.4 2026/10/12 09:10:09 jperkin Exp $
+
+Added by joerg in 2015, it's unclear if this is still required, but at the
+same time it's probably harmless, so left until we're sure it can be removed.
 
 --- include/safe-ctype.h.orig  2020-07-24 09:12:20.000000000 +0000
 +++ include/safe-ctype.h

Added files:

Index: pkgsrc/devel/binutils/PLIST.nls
diff -u /dev/null pkgsrc/devel/binutils/PLIST.nls:1.1
--- /dev/null   Mon Oct 12 09:10:09 2026
+++ pkgsrc/devel/binutils/PLIST.nls     Mon Oct 12 09:10:08 2026
@@ -0,0 +1,121 @@
+@comment $NetBSD: PLIST.nls,v 1.1 2026/10/12 09:10:08 jperkin Exp $
+share/locale/ar/LC_MESSAGES/binutils.mo
+share/locale/bg/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/bg/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/bg/LC_MESSAGES/ld.mo
+share/locale/ca/LC_MESSAGES/binutils.mo
+share/locale/da/LC_MESSAGES/bfd.mo
+share/locale/da/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/da/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/da/LC_MESSAGES/ld.mo
+share/locale/da/LC_MESSAGES/opcodes.mo
+share/locale/de/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/de/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/de/LC_MESSAGES/ld.mo
+share/locale/de/LC_MESSAGES/opcodes.mo
+${PLIST.gprof}share/locale/eo/LC_MESSAGES/gprof.mo
+share/locale/es/LC_MESSAGES/bfd.mo
+share/locale/es/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/es/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/es/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/es/LC_MESSAGES/ld.mo
+share/locale/es/LC_MESSAGES/opcodes.mo
+share/locale/fi/LC_MESSAGES/bfd.mo
+share/locale/fi/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/fi/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/fi/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/fi/LC_MESSAGES/ld.mo
+share/locale/fi/LC_MESSAGES/opcodes.mo
+share/locale/fr/LC_MESSAGES/bfd.mo
+share/locale/fr/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/fr/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/fr/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/fr/LC_MESSAGES/ld.mo
+share/locale/fr/LC_MESSAGES/opcodes.mo
+${PLIST.gprof}share/locale/ga/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/ga/LC_MESSAGES/ld.mo
+share/locale/ga/LC_MESSAGES/opcodes.mo
+share/locale/hr/LC_MESSAGES/bfd.mo
+share/locale/hr/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/hu/LC_MESSAGES/gprof.mo
+share/locale/id/LC_MESSAGES/bfd.mo
+share/locale/id/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/id/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/id/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/id/LC_MESSAGES/ld.mo
+share/locale/id/LC_MESSAGES/opcodes.mo
+share/locale/it/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/it/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/it/LC_MESSAGES/ld.mo
+share/locale/it/LC_MESSAGES/opcodes.mo
+share/locale/ja/LC_MESSAGES/bfd.mo
+share/locale/ja/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/ja/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/ja/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/ja/LC_MESSAGES/ld.mo
+share/locale/ka/LC_MESSAGES/bfd.mo
+share/locale/ka/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/ka/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/ka/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/ka/LC_MESSAGES/ld.mo
+share/locale/ka/LC_MESSAGES/opcodes.mo
+share/locale/ms/LC_MESSAGES/bfd.mo
+${PLIST.gprof}share/locale/ms/LC_MESSAGES/gprof.mo
+${PLIST.gprof}share/locale/nl/LC_MESSAGES/gprof.mo
+share/locale/nl/LC_MESSAGES/opcodes.mo
+share/locale/pt/LC_MESSAGES/bfd.mo
+share/locale/pt/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/pt_BR/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/pt_BR/LC_MESSAGES/ld.mo
+share/locale/pt_BR/LC_MESSAGES/opcodes.mo
+share/locale/ro/LC_MESSAGES/bfd.mo
+share/locale/ro/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/ro/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/ro/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/ro/LC_MESSAGES/ld.mo
+share/locale/ro/LC_MESSAGES/opcodes.mo
+share/locale/ru/LC_MESSAGES/bfd.mo
+share/locale/ru/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/ru/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/ru/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/ru/LC_MESSAGES/ld.mo
+share/locale/rw/LC_MESSAGES/bfd.mo
+share/locale/rw/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/rw/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/rw/LC_MESSAGES/gprof.mo
+share/locale/sk/LC_MESSAGES/binutils.mo
+share/locale/sr/LC_MESSAGES/bfd.mo
+share/locale/sr/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/sr/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/sr/LC_MESSAGES/ld.mo
+share/locale/sr/LC_MESSAGES/opcodes.mo
+share/locale/sv/LC_MESSAGES/bfd.mo
+share/locale/sv/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/sv/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/sv/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/sv/LC_MESSAGES/ld.mo
+share/locale/sv/LC_MESSAGES/opcodes.mo
+share/locale/tr/LC_MESSAGES/bfd.mo
+share/locale/tr/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/tr/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/tr/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/tr/LC_MESSAGES/ld.mo
+share/locale/tr/LC_MESSAGES/opcodes.mo
+share/locale/uk/LC_MESSAGES/bfd.mo
+share/locale/uk/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/uk/LC_MESSAGES/gas.mo
+${PLIST.gprof}share/locale/uk/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/uk/LC_MESSAGES/ld.mo
+share/locale/uk/LC_MESSAGES/opcodes.mo
+share/locale/vi/LC_MESSAGES/bfd.mo
+share/locale/vi/LC_MESSAGES/binutils.mo
+${PLIST.gprof}share/locale/vi/LC_MESSAGES/gprof.mo
+${PLIST.gld}share/locale/vi/LC_MESSAGES/ld.mo
+share/locale/vi/LC_MESSAGES/opcodes.mo
+share/locale/zh_CN/LC_MESSAGES/bfd.mo
+share/locale/zh_CN/LC_MESSAGES/binutils.mo
+${PLIST.gas}share/locale/zh_CN/LC_MESSAGES/gas.mo
+${PLIST.gld}share/locale/zh_CN/LC_MESSAGES/ld.mo
+share/locale/zh_CN/LC_MESSAGES/opcodes.mo
+share/locale/zh_TW/LC_MESSAGES/binutils.mo
+${PLIST.gld}share/locale/zh_TW/LC_MESSAGES/ld.mo



Home | Main Index | Thread Index | Old Index