--- /dev/null
+Summary: GASP - old preprocessor for assembly programs
+Summary(pl.UTF-8): GASP - stary preprocesor dla programów w asemblerze
+Name: binutils-gasp
+Version: 2.13.2.1a
+Release: 1
+Epoch: 5
+License: GPL v3+
+Group: Development/Tools
+Source0: https://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2
+# Source0-md5: aeb6464c6e3584edc021f7a552ec4fbd
+Patch0: binutils-info.patch
+Patch1: binutils-relax_type.patch
+URL: http://www.sourceware.org/binutils/
+BuildRequires: bison
+BuildRequires: flex
+BuildRequires: gettext-tools
+BuildRequires: perl-tools-pod
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.527
+%ifarch sparc sparc32
+BuildRequires: sparc32
+%endif
+BuildRequires: texinfo >= 4.2
+BuildRequires: zlib-devel
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+GASP - old preprocessor for assembly programs. It's officially
+obsoleted, but it's still needed to build some packages.
+
+%description -l pl.UTF-8
+GASP - stary preprocesor dla programów w asemblerze. Jest oficjalnie
+uznany za przestarzały, ale jest nadal potrzebny do zbudowania
+niektórych pakietów.
+
+%prep
+%setup -q -n binutils-2.13.2.1
+%patch0 -p1
+%patch1 -p1
+
+%build
+cp -f /usr/share/automake/config.* .
+CFLAGS="%{rpmcflags}"; export CFLAGS
+CC="%{__cc}"; export CC
+%ifarch sparc
+sparc32 \
+%endif
+./configure %{_target_platform} \
+ --prefix=%{_prefix} \
+ --libdir=%{_libdir} \
+ --infodir=%{_infodir} \
+ --mandir=%{_mandir} \
+ --sysconfdir=%{_sysconfdir} \
+ --disable-debug \
+ --disable-silent-rules \
+ --disable-werror \
+%ifarch sparc
+ --enable-64-bit-bfd \
+%endif
+ --enable-build-warnings=,-Wno-missing-prototypes \
+ --with-tooldir=%{_prefix} \
+ --with-zlib
+
+%{__make} -C libiberty
+%{__make} -C bfd
+%{__make} -C gas gasp-new
+%{__make} -C gas/doc gasp.info
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_infodir}}
+
+install gas/gasp-new $RPM_BUILD_ROOT%{_bindir}/gasp
+cp -p gas/doc/gasp.info* $RPM_BUILD_ROOT%{_infodir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%files
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gasp
+%{_infodir}/gasp.info*
--- /dev/null
+diff -urN binutils-2.12.90.0.1.org/bfd/doc/bfd.texinfo binutils-2.12.90.0.1/bfd/doc/bfd.texinfo
+--- binutils-2.12.90.0.1.org/bfd/doc/bfd.texinfo Mon Mar 11 22:37:36 2002
++++ binutils-2.12.90.0.1/bfd/doc/bfd.texinfo Mon Mar 11 22:37:52 2002
+@@ -21,9 +21,10 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* Bfd: (bfd). The Binary File Descriptor library.
+-END-INFO-DIR-ENTRY
++@dircategory Programming tools:
++@direntry
++* Bfd: (bfd). The Binary File Descriptor library
++@end direntry
+ @end format
+ @end ifinfo
+
+diff -urN binutils-2.12.90.0.1.org/binutils/doc/binutils.texi binutils-2.12.90.0.1/binutils/doc/binutils.texi
+--- binutils-2.12.90.0.1.org/binutils/doc/binutils.texi Mon Mar 11 22:37:37 2002
++++ binutils-2.12.90.0.1/binutils/doc/binutils.texi Mon Mar 11 22:37:52 2002
+@@ -6,24 +6,26 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* Binutils: (binutils). The GNU binary utilities.
+-* ar: (binutils)ar. Create, modify, and extract from archives
+-* nm: (binutils)nm. List symbols from object files
+-* objcopy: (binutils)objcopy. Copy and translate object files
+-* objdump: (binutils)objdump. Display information from object files
+-* ranlib: (binutils)ranlib. Generate index to archive contents
+-* readelf: (binutils)readelf. Display the contents of ELF format files.
+-* size: (binutils)size. List section sizes and total size
+-* strings: (binutils)strings. List printable strings from files
+-* strip: (binutils)strip. Discard symbols
+-* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols
+-* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt
+-* addr2line: (binutils)addr2line. Convert addresses to file and line
+-* nlmconv: (binutils)nlmconv. Converts object code into an NLM
+-* windres: (binutils)windres. Manipulate Windows resources
+-* dlltool: (binutils)dlltool. Create files needed to build and use DLLs
+-END-INFO-DIR-ENTRY
++@dircategory Programming tools:
++@direntry
++* Binutils: (binutils). The GNU binary utilities
++* ar: (binutils)ar. Create, modify and extract from archives
++* nm: (binutils)nm. List symbols from object files
++* objcopy: (binutils)objcopy. Copy and translate object files
++* objdump: (binutils)objdump. Display information from object files
++* ranlib: (binutils)ranlib. Generate index to archive contents
++* readelf: (binutils)readelf. Display the contents of ELF format files
++* size: (binutils)size. List section sizes and total size
++* strings: (binutils)strings. List printable strings from files
++* strip: (binutils)strip. Discard symbols
++* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols
++* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt
++* addr2line: (binutils)addr2line. Convert addresses to file and line
++* nlmconv: (binutils)nlmconv. Converts object code into an NLM
++* windres: (binutils)windres. Manipulate Windows resources
++* dlltool: (binutils)dlltool. Create files needed to
++ build and use DLLs
++@end direntry
+ @end format
+ @end ifinfo
+
+diff -urN binutils-2.12.90.0.1.org/etc/configure.texi binutils-2.12.90.0.1/etc/configure.texi
+--- binutils-2.12.90.0.1.org/etc/configure.texi Mon Mar 11 22:37:37 2002
++++ binutils-2.12.90.0.1/etc/configure.texi Mon Mar 11 22:37:52 2002
+@@ -5,9 +5,9 @@
+ @setchapternewpage off
+ @c %**end of header
+
+-@dircategory GNU admin
++@dircategory Programming tools:
+ @direntry
+-* configure: (configure). The GNU configure and build system
++* configure: (configure). The GNU configure and build system
+ @end direntry
+
+ @ifinfo
+diff -urN binutils-2.12.90.0.1.org/etc/standards.texi binutils-2.12.90.0.1/etc/standards.texi
+--- binutils-2.12.90.0.1.org/etc/standards.texi Mon Mar 11 22:37:37 2002
++++ binutils-2.12.90.0.1/etc/standards.texi Mon Mar 11 22:37:52 2002
+@@ -8,9 +8,10 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* Standards: (standards). GNU coding standards.
+-END-INFO-DIR-ENTRY
++@dircategory Miscellaneous:
++@direntry
++* Standards: (standards). GNU coding standards
++@end direntry
+ @end format
+ @end ifinfo
+
+diff -urN binutils-2.12.90.0.1.org/gas/doc/as.texinfo binutils-2.12.90.0.1/gas/doc/as.texinfo
+--- binutils-2.12.90.0.1.org/gas/doc/as.texinfo Mon Mar 11 22:37:38 2002
++++ binutils-2.12.90.0.1/gas/doc/as.texinfo Mon Mar 11 22:40:25 2002
+@@ -117,10 +117,11 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* As: (as). The GNU assembler.
+-* Gas: (as). The GNU assembler.
+-END-INFO-DIR-ENTRY
++@dircategory Programming tools:
++@direntry
++* As: (as). The GNU assembler
++* Gas: (as). The GNU assembler
++@end direntry
+ @end format
+ @end ifinfo
+
+diff -urN binutils-2.12.90.0.1.org/gas/doc/gasp.texi binutils-2.12.90.0.1/gas/doc/gasp.texi
+--- binutils-2.12.90.0.1.org/gas/doc/gasp.texi Mon Mar 11 22:37:38 2002
++++ binutils-2.12.90.0.1/gas/doc/gasp.texi Mon Mar 11 22:37:52 2002
+@@ -14,9 +14,10 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* gasp: (gasp). The GNU Assembler Preprocessor
+-END-INFO-DIR-ENTRY
++@dircategory Programming tools:
++@direntry
++* gasp: (gasp). The GNU Assembler Preprocessor
++@end direntry
+ @end format
+ @end ifinfo
+
+diff -urN binutils-2.12.90.0.1.org/gprof/gprof.texi binutils-2.12.90.0.1/gprof/gprof.texi
+--- binutils-2.12.90.0.1.org/gprof/gprof.texi Mon Mar 11 22:37:40 2002
++++ binutils-2.12.90.0.1/gprof/gprof.texi Mon Mar 11 22:37:52 2002
+@@ -9,9 +9,10 @@
+ @c This is a dir.info fragment to support semi-automated addition of
+ @c manuals to an info tree. zoo@cygnus.com is developing this facility.
+ @format
+-START-INFO-DIR-ENTRY
+-* gprof: (gprof). Profiling your program's execution
+-END-INFO-DIR-ENTRY
++@dircategory Programming tools:
++@direntry
++* gprof: (gprof). Profiling your program's execution
++@end direntry
+ @end format
+ @end ifinfo
+
+diff -urN binutils-2.12.90.0.1.org/ld/ld.texinfo binutils-2.12.90.0.1/ld/ld.texinfo
+--- binutils-2.12.90.0.1.org/ld/ld.texinfo Mon Mar 11 22:37:41 2002
++++ binutils-2.12.90.0.1/ld/ld.texinfo Mon Mar 11 22:37:52 2002
+@@ -48,9 +48,10 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* Ld: (ld). The GNU linker.
+-END-INFO-DIR-ENTRY
++@dircategory Programming tools:
++@direntry
++* Ld: (ld). The GNU linker
++@end direntry
+ @end format
+ @end ifinfo
+
+@@ -4590,7 +4591,7 @@
+ @node BFD outline
+ @section How it works: an outline of BFD
+ @cindex opening object files
+-@include bfdsumm.texi
++@include ../bfd/doc/bfdsumm.texi
+ @end ifclear
+
+ @node Reporting Bugs
--- /dev/null
+--- binutils-2.13.2.1/gas/tc.h.orig 2001-11-15 22:28:53.000000000 +0100
++++ binutils-2.13.2.1/gas/tc.h 2022-09-27 19:58:57.525827655 +0200
+@@ -27,22 +27,6 @@ extern const pseudo_typeS md_pseudo_tabl
+ /* JF moved this here from as.h under the theory that nobody except MACHINE.c
+ and write.c care about it anyway. */
+
+-struct relax_type
+-{
+- /* Forward reach. Signed number. > 0. */
+- long rlx_forward;
+- /* Backward reach. Signed number. < 0. */
+- long rlx_backward;
+-
+- /* Bytes length of this address. */
+- unsigned char rlx_length;
+-
+- /* Next longer relax-state. 0 means there is no 'next' relax-state. */
+- relax_substateT rlx_more;
+-};
+-
+-typedef struct relax_type relax_typeS;
+-
+ extern const int md_reloc_size; /* Size of a relocation record */
+
+ char *md_atof PARAMS ((int what_statement_type, char *literalP, int *sizeP));
+--- binutils-2.13.2.1/gas/as.h.orig 2002-07-14 03:14:19.000000000 +0200
++++ binutils-2.13.2.1/gas/as.h 2022-09-27 19:58:58.979153115 +0200
+@@ -397,6 +397,22 @@ typedef unsigned int relax_substateT;
+ /* Enough bits for address, but still an integer type.
+ Could be a problem, cross-assembling for 64-bit machines. */
+ typedef addressT relax_addressT;
++
++struct relax_type
++{
++ /* Forward reach. Signed number. > 0. */
++ long rlx_forward;
++ /* Backward reach. Signed number. < 0. */
++ long rlx_backward;
++
++ /* Bytes length of this address. */
++ unsigned char rlx_length;
++
++ /* Next longer relax-state. 0 means there is no 'next' relax-state. */
++ relax_substateT rlx_more;
++};
++
++typedef struct relax_type relax_typeS;
+ \f
+ /* main program "as.c" (command arguments etc) */
+