* Remove merged patches
Changelog:
gas:
* Add a configure option --enable-x86-relax-relocations to decide whether
x86 assembler should generate relax relocations by default. Default to
yes, except for x86 Solaris targets older than Solaris 12.
* New command line option -mrelax-relocations= for x86 target to control
whether to generate relax relocations.
Changelog:
Changes in 2.26:
* Add option to objcopy to insert new symbols into a file:
--add-symbol <name>=[<section>:]<value>[,<flags>]
* Add support for the ARC EM/HS, and ARC600/700 architectures.
* Extend objcopy --compress-debug-sections option to support
--compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
targets.
* Add --update-section option to objcopy.
* Add --output-separator option to strings.
The gold linker is overly pedantic for dynamic references to symbols
with hidden visibility. It will spew error messages about weak symbols
in libc.so that ld.bfd does not complain about. Until the bug is resolved
disable the hidden symbol warnings. These warning also cause > 200
false failures in the gcc gnat.dg testsuite.
https://sourceware.org/bugzilla/show_bug.cgi?id=15574
This patch will keep the internal symbol warnings but suppress those
regaring symbols with hidden visibility because they aren't considered
errors by the bfd linker.
The Gold linker defaults to the use of --new-dtags which uses DT_RUNPATH
instead of DT_RPATH. In previous version of binutils, --new-dtags would
write set both DT_RUNPATH and DT_PATH, but not anymore. The problem is
that neither NetBSD nor OpenBSD runtime linkers properly handle it
AFAICT. Use macros to make DT_RPATH get set when -rpath switch is used
so that linked libraries can get found on these platforms.
Similarly, it appears that DT_INIT_ARRAY tags are also not handled by
rtld, so don't use these tags by default otherwise C++ will not link
on these platforms.
The copy-as-needed attribute has been left at its binutils default of
--no-copy-dt-needed. This has been the default since binutils 2.22.
The gold linker isn't a default option on binutils. Change the Makefile
to make gold build on recent *BSD. Tested on NetBSD 6.1.4 and OpenBSD 5.5.
Gold is known to build on FreeBSD although FreeBSD 10 may need additional
patches. Gold is part of the system binutils on DragonFly.
binutils:
Changes in 2.24:
* Objcopy now supports wildcard characters in command line options that take
section names.
* Add support for Altera Nios II.
gas:
Changes in 2.24:
* Add support for the Texas Instruments MSP430X processor.
* Add -gdwarf-sections command line option to enable per-code-section
generation of DWARF .debug_line sections.
* Add support for Altera Nios II.
* Add support for the Imagination Technologies Meta processor.
* Add support for the v850e3v5.
* Remove assembler support for MIPS ECOFF targets.
ld:
Changes in 2.24:
* Add LOG2CEIL() builtin function to the linker script language
* Add support for the Texas Instruments MSP430X processor.
* Add support for Altera Nios II.
* Add support for the V850E3V5 architecture.
* Add support for the Imagination Technologies Meta processor.
* --enable-new-dtags no longer generates old dtags in addition to new dtags.
* Remove linker support for MIPS ECOFF targets.
* Add ALIGN_WITH_INPUT to the linker script language to force the alignment of
an output section to use the maximum alignment of all its input sections.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
to be necessary any more. Ordinarily it wouldn't hurt to leave it, but it
can cause cyclic dependencies if binutils is required by gcc, and this will
suffice in lieu of a proper fix for that problem.
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD
when determining whether the native makeinfo can be used.
* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.
* Get rid of all the "split" argument deduction for makeinfo since
the PLIST module already handles varying numbers of split info files
correctly.
NOTE: Platforms that have "makeinfo" in the base system should check
that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
correct.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
Changes in binutils:
* Binutils-2.16 will be the last release for a number of targets due to
lack of maintenance (of course, if maintainers step up, then this list
will change!). The targets are:
a29k-*-*
d10v-*-*
d30v-*-*
dlx-*-*
h8300-*-coff
h8300-*-rtems*
h8500-*-coff
h8500-*-rtems*
i370-*-*
i960-*-*
i960-*-bout
i960-*-coff
i960-*-nindy*
i960-*-rtems*
i960-*-vxworks*
i960-*-vxworks5.*
i960-*-vxworks5.0
m68k-*-coff
m68k-*-hpux*
m68k-*-linux*aout*
m68k-*-rtemscoff*
m68k-*-sunos*
m68k-*-sysv*
m68k-*-vxworks*
m68k-apollo-*
m68k-apple-aux*
m68k-bull-sysv3*
m68k-ericsson-ose
m68k-motorola-sysv*
m88k-*-* (*)
mn10200-*-*
openrisc-*-*
or32-*-*
or32-*-coff
pj*-*-*
sh-*-coff*
sh-*-rtemscoff*
tic80-*-*
vax-*-bsd* (*)
vax-*-netbsd* excluding vax-*-netbsdelf (*)
vax-*-ultrix* (*)
w65-*-*
xscale-*-coff
*-*-linux*aout*
*-*-linux*oldld
(*) bfd and opcodes support will be kept.
* Add "-g/--section-groups" to readelf to display section groups.
* objcopy recognizes two new options --strip-unneeded-symbol and
--strip-unneeded-symbols, namely for use together with the wildcard
matching the original --strip-symbol/--strip-symbols provided, but
retaining any symbols matching but needed by relocations.
* readelf can now display address ranges from .debug_range sections. This
happens automatically when a DW_AT_range attribute is encountered. The
command line switch --debug-dump=Ranges (or -wR) can also be used to display
the contents of the .debug_range section.
* nm and objdump now have a switch "--special-syms" to enable the displaying of
symbols which the target considers to be special. By default these symbols
are no longer displayed. Currently the only special symbols are the Mapping
symbols used by the ARM port to mark transitions between text and data and
between ARM and THUMB code.
* dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
import and export symbols with <preifx> prepended to them.
Changes in gas:
* Redefinition of macros now results in an error.
* New command line option -mhint.b=[ok|warning|error] for IA64 targets.
* New command line option -munwind-check=[warning|error] for IA64
targets.
* The IA64 port now uses automatic dependency violation removal as its default
mode.
* Port to MAXQ processor contributed by HCL Tech.
* Added support for generating unwind tables for ARM ELF targets.
* Add a -g command line option to generate debug information in the target's
preferred debug format.
* Support for the crx-elf target added.
* Support for the sh-symbianelf target added.
* Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations
on pe[i]-i386; required for this target's DWARF 2 support.
* Support for Motorola MCF521x/5249/547x/548x added.
* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
instrucitons.
* New command line option -mno-shared for MIPS ELF targets.
* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro
added to enter (and leave) alternate macro syntax mode.
Changes in ld:
* Support for the R_ARM_V4BX relocation as defined in the ARM AAELF
specification has been added via the --fix-v4bx command-line option.
* New linker script construct AS_NEEDED(), which sets the --as-needed flag
for input files listed inside of it.
* A new command-line option, --sysroot, can be used to override the
default sysroot location. It only applies to toolchains that were
configured using --with-sysroot.
* New linker script functions: ORIGIN() and LENGTH() which return information
about a specified memory region.
* Port to MAXQ processor contributed by HCL Tech.
* Added SEGMENT_START to the linker script language to permit the user to
override the base address for a segment from the command-line.
* ELF: --warn-shared-textrel option to warn if adding a DT_TEXTREL to a shared
object.
* Added SORT_BY_NAME and SORT_BY_ALIGNMENT to the linker script
language to permit sorting sections by section name or section
maximum alignment.
* Added a new linker command line switch, --sort-section name|alignment,
to sort sections by section name or maximum alignment.
* ELF: --add-needed/--no-add-needed options to control if a DT_NEEDED tag
should be added when a shared library comes from DT_NEEDED tags.
* Support for the crx-elf target added.
* Support for the sh-symbianelf target added.
* A new linker command line switch has been added which allows the hash table
size to be set to a suitable prime value near to its argument. This switch
is --hash-size=<NUMBER>. Also if the switch --reduce-memory-overheads is
used, and --hash-size has not been used, then the default value will be set
to 1021.
* Linker map files are now generated with an O(N) algorithm for finding symbols
that are defined in each section. This uses about 40% more memory for
symbols than the old O(N^2) algorithm. You can use the new
--reduce-memory-overheads option to select the old algorithm; this option
might also be used in the future to select similar tradeoffs.