diff --git a/binutils.spec b/binutils.spec index 3872d94..329738f 100644 --- a/binutils.spec +++ b/binutils.spec @@ -39,7 +39,7 @@ Summary: A GNU collection of binary utilities Name: binutils%{?name_cross}%{?_with_debug:-debug} Version: 2.37 -Release: 11%{?dist} +Release: 12%{?dist} License: GPLv3+ URL: https://sourceware.org/binutils @@ -291,6 +291,10 @@ Patch20: binutils-bfd-close-fds.patch # Lifetime: Fixed in 2.38. Patch21: binutils-gas-Use-the-directory-name-in-.file-0.patch +# Purpose: Add ability to show unicode characters to display tools +# Lifetime: Fixed in 2.38. +Patch22: binutils.unicode.patch + #---------------------------------------------------------------------------- Provides: bundled(libiberty) @@ -908,6 +912,9 @@ exit 0 #---------------------------------------------------------------------------- %changelog +* Tue Nov 09 2021 Nick Clifton - 2.37-12 +- Add ability to show unicode characters to display tools. + * Mon Nov 08 2021 Nick Clifton - 2.37-11 - Add upstream patch to use the directory name in .file 0, fixes ccache FTBFS (#1996936) diff --git a/binutils.unicode.patch b/binutils.unicode.patch new file mode 100644 index 0000000..903ae95 --- /dev/null +++ b/binutils.unicode.patch @@ -0,0 +1,32545 @@ +diff -rupN binutils.orig/binutils/NEWS binutils-2.37/binutils/NEWS +--- binutils.orig/binutils/NEWS 2021-11-09 12:34:21.664802928 +0000 ++++ binutils-2.37/binutils/NEWS 2021-11-09 12:38:05.757327773 +0000 +@@ -1,5 +1,14 @@ + -*- text -*- + ++* Tools which display symbols or strings (readelf, strings, nm, objdump) ++ have a new command line option which controls how unicode characters are ++ handled. By default they are treated as normal for the tool. Using ++ --unicode=locale will display them according to the current locale. ++ Using --unicode=hex will display them as hex byte values, whilst ++ --unicode=escape will display them as escape sequences. In addition ++ using --unicode=highlight will display them as unicode escape sequences ++ highlighted in red (if supported by the output device). ++ + Changes in 2.37: + + * The readelf tool has a new command line option which can be used to specify +diff -rupN binutils.orig/binutils/NEWS.orig binutils-2.37/binutils/NEWS.orig +--- binutils.orig/binutils/NEWS.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.37/binutils/NEWS.orig 2021-11-09 12:34:46.290643870 +0000 +@@ -0,0 +1,823 @@ ++-*- text -*- ++ ++Changes in 2.37: ++ ++* The readelf tool has a new command line option which can be used to specify ++ how the numeric values of symbols are reported. --sym-base=0|8|10|16 tells ++ readelf to display the values in base 8, base 10 or base 16. A sym base of 0 ++ represents the default action of displaying values under 10000 in base 10 and ++ values above that in base 16. ++ ++* Binutils now requires a C99 compiler and library to build. ++ ++* A new format has been added to the nm program. Specifying ++ --format=just-symbols (or just using -j) will tell the program to only ++ display symbol names and nothing else. ++ ++* A new command line --keep-section-symbols has been added to objcopy and ++ strip. This stops the removal of unused section symbols when the file is ++ copied. Removing these symbols saves space, but sometimes they are needed by ++ other tools. ++ ++* objcopy --weaken, --weaken-symbol and --weaken-symbols now make undefined ++ symbols weak on targets that support weak symbols. ++ ++* Readelf and objdump can now display and use the contents of .debug_sup ++ sections. ++ ++* Readelf and objdump will now follow links to separate debug info files by ++ default. This behaviour can be stopped via the use of the new -wN or ++ --debug-dump=no-follow-links options for readelf and the -WN or ++ --dwarf=no-follow-links options for objdump. Also the old behaviour can be ++ restored by the use of the --enable-follow-debug-links=no configure time ++ option. ++ ++ The semantics of the =follow-links option have also been slightly changed. ++ When enabled, the option allows for the loading of symbol tables and string ++ tables from the separate files which can be used to enhance the information ++ displayed when dumping other sections, but it does not automatically imply ++ that information from the separate files should be displayed. ++ ++ If other debug section display options are also enabled (eg ++ --debug-dump=info) then the contents of matching sections in both the main ++ file and the separate debuginfo file *will* be displayed. This is because in ++ most cases the debug section will only be present in one of the files. ++ ++ If however non-debug section display options are enabled (eg --sections) then ++ the contents of matching parts of the separate debuginfo file will *not* be ++ displayed. This is because in most cases the user probably only wanted to ++ load the symbol information from the separate debuginfo file. In order to ++ change this behaviour a new command line option --process-links can be used. ++ This will allow di0pslay options to applied to both the main file and any ++ separate debuginfo files. ++ ++* Nm has a new command line option: --quiet. This suppresses "no symbols" ++ diagnostic. ++ ++Changes in 2.36: ++ ++* Update elfedit and readelf with LAM_U48 and LAM_U57 support. ++ ++* Nm has a new command line option: --ifunc-chars=CHARS. This specifies a ++ string of one or two characters. The first character is used as the type ++ character when displaying global ifunc symbols. The second character, if ++ present is used when displaying local ifunc symbols. ++ ++ In addition a new configure time option --enable-f-for-ifunc-symbols has been ++ created, which if used will change nm's default characters for ifunc symbols ++ from i (both local and global) to F (global) and f (local). ++ ++* The ar tool's previously unused l modifier is now used for specifying ++ dependencies of a static library. The arguments of this option ++ (or --record-libdeps long form option) will be stored verbatim in the ++ __.LIBDEP member of the archive, which the linker may read at link time. ++ ++* Readelf can now display the contents of LTO symbol table sections when asked ++ to do so via the --lto-syms command line option. ++ ++* Readelf now accepts the -C command line option to enable the demangling of ++ symbol names. In addition the --demangle=