1-*- text -*- 2 3Changes in 2.31: 4 5* Speed up direct linking with DLLs for Cygwin and Mingw targets. 6 7* Add a configure option --enable-separate-code to decide whether 8 -z separate-code should be enabled in ELF linker by default. Default 9 to yes for Linux/x86 targets. Note that -z separate-code can increase 10 disk and memory size. 11 12Changes in 2.30: 13 14* Add -z separate-code to generate separate code PT_LOAD segment. 15 16* Add "-z undefs" command line option as the inverse of the "-z defs" option. 17 18* Add -z globalaudit command line option to force audit libraries to be run 19 for every dynamic object loaded by an executable - provided that the loader 20 supports this functionality. 21 22* Tighten linker script grammar around file name specifiers to prevent the use 23 of SORT_BY_ALIGNMENT and SORT_BY_INIT_PRIORITY on filenames. These would 24 previously be accepted but had no effect. 25 26* The EXCLUDE_FILE directive can now be placed within any SORT_* directive 27 within input section lists. 28 29Changes in 2.29: 30 31* Support for -z shstk in the x86 ELF linker to generate 32 GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program properties. 33 34* Add support for GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program 35 properties in the x86 ELF linker. 36 37* Add support for GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program 38 properties in the x86 ELF linker. 39 40* Support for -z ibtplt in the x86 ELF linker to generate IBT-enabled 41 PLT. 42 43* Support for -z ibt in the x86 ELF linker to generate IBT-enabled 44 PLT as well as GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program 45 properties. 46 47* Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX. 48 49* Add support for ELF GNU program properties. 50 51* Add support for the Texas Instruments PRU processor. 52 53* When configuring for arc*-*-linux* targets the default linker emulation will 54 change if --with-cpu=nps400 is used at configure time. 55 56* Improve assignment of LMAs to orphan sections in some edge cases where a 57 mixture of both AT>LMA_REGION and AT(LMA) are used. 58 59* Orphan sections placed after an empty section that has an AT(LMA) will now 60 take an load memory address starting from LMA. 61 62* Section groups can now be resolved (the group deleted and the group members 63 placed like normal sections) at partial link time either using the new linker 64 option --force-group-allocation or by placing FORCE_GROUP_ALLOCATION into the 65 linker script. 66 67Changes in 2.28: 68 69* The EXCLUDE_FILE linker script construct can now be applied outside of the 70 section list in order for the exclusions to apply over all input sections in 71 the list. 72 73* Add support for the RISC-V architecture. 74 75* The command line option --no-eh-frame-hdr can now be used in ELF based 76 linkers to disable the automatic generation of .eh_frame_hdr sections. 77 78* Add --in-implib=<infile> to the ARM linker to enable specifying a set of 79 Secure Gateway veneers that must exist in the output import library specified 80 by --out-implib=<outfile> and the address they must have. As such, 81 --in-implib is only supported in combination with --cmse-implib. 82 83* Extended the --out-implib=<file> option, previously restricted to x86 PE 84 targets, to any ELF based target. This allows the generation of an import 85 library for an ELF executable, which can then be used by another application 86 to link against the executable. 87 88Changes in 2.27: 89 90* Add a configure option --enable-relro to decide whether -z relro should 91 be enabled in ELF linker by default. Default to yes for all Linux 92 targets except FRV, HPPA, IA64 and MIPS. Note that -z relro can increase 93 disk and memory size. 94 95* Support for -z noreloc-overflow in the x86-64 ELF linker to disable 96 relocation overflow check. 97 98* Add -z common/-z nocommon options for ELF targets to control whether to 99 convert common symbols to the STT_COMMON type during a relocatable link. 100 101* Support for -z nodynamic-undefined-weak in the x86 ELF linker, which 102 avoids dynamic relocations against undefined weak symbols in executable. 103 104* The NOCROSSREFSTO command was added to the linker script language. 105 106* Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply link-time 107 values for dynamic relocations. 108 109Changes in 2.26: 110 111* Add --fix-stm32l4xx-629360 to the ARM linker to enable a link-time 112 workaround for a bug in the bus matrix / memory controller for some of 113 the STM32 Cortex-M4 based products (STM32L4xx) 114 115* Add a configure option --enable-compressed-debug-sections={all,ld} to 116 decide whether DWARF debug sections should be compressed by default. 117 118* Add support for the ARC EM/HS, and ARC600/700 architectures. 119 120* Experimental support for linker garbage collection (--gc-sections) 121 has been enabled for COFF and PE based targets. 122 123* New command line option for ELF targets to compress DWARF debug 124 sections, --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. 125 126* New command line option, --orphan-handling=[place|warn|error|discard], to 127 adjust how orphan sections are handled. The default is 'place' which gives 128 the current behaviour, 'warn' and 'error' issue a warning or error 129 respectively when orphan sections are found, and 'discard' will discard all 130 orphan sections. 131 132* Add support for LLVM plugin. 133 134* Add --print-memory-usage option to report memory blocks usage. 135 136* Add --require-defined option, it's like --undefined except the new symbol 137 must be defined by the end of the link. 138 139Changes in 2.25: 140 141* PE binaries now once again contain real timestamps by default. To disable 142 the inclusion of a timestamp in a PE binary, use the --no-insert-timestamp 143 command line option. 144 145* Replace support for openrisc and or32 with support for or1k. 146 147* Add support for the --build-id command line option to COFF based targets. 148 149* x86/x86_64 pe-coff now supports the --build-id option. 150 151* Add support for the Andes NDS32. 152 153Changes in 2.24: 154 155* Add LOG2CEIL() builtin function to the linker script language 156 157* Add support for the Texas Instruments MSP430X processor. 158 159* Add support for Altera Nios II. 160 161* Add support for the V850E3V5 architecture. 162 163* Add support for the Imagination Technologies Meta processor. 164 165* --enable-new-dtags no longer generates old dtags in addition to new dtags. 166 167* Remove linker support for MIPS ECOFF targets. 168 169* Add ALIGN_WITH_INPUT to the linker script language to force the alignment of 170 an output section to use the maximum alignment of all its input sections. 171 172Changes in 2.23: 173 174* Enable compressed debug section feature for x86/x86_64 pe-coff. 175 176* Add support for the 64-bit ARM architecture: AArch64. 177 178* Added SORT_NONE to the linker script language to disable section sorting. 179 180* Add a linker-provided symbol when producing ELF output, '__ehdr_start' 181 to point to the ELF file header (and nearby program headers) in the 182 program's memory image. 183 184* Add support for S12X processor. 185 186* Add support for the VLE extension to the PowerPC architecture. 187 188* Add support for the Freescale XGATE architecture. 189 190* Add option -f FILE on AIX (for response file). 191 192* Add support for the Renesas RL78 architecture. 193 194* Add support for the Adapteva EPIPHANY architecture. 195 196Changes in 2.22: 197 198* --copy-dt-needed-entries is no longer enabled by default. Instead 199 --no-copy-dt-needed-entries is the default. 200 201* INPUT_SECTION_FLAGS has been added to the linker script language 202 to allow selection of input sections by section header section flags. 203 204* Add support for the Tilera TILEPro and TILE-Gx architectures. 205 206* Added SORT_BY_INIT_PRIORITY to the linker script language to permit 207 sorting sections by numerical value of the GCC init_priority attribute 208 encoded in the section name. 209 210Changes in 2.21: 211 212* Linker script expression evaluation is somewhat more sane. This may 213 break scripts that depend on quirks of the old expression evaluation. 214 215* Turn off underscoring for x86_64 PE+-COFF targets. For old behavior the 216 option --enable-leading-mingw64-underscores can be used on configure of 217 bfd. 218 219* Add support for the TMS320C6000 (TI C6X) processor family. 220 221* --add-needed renamed to --copy-dt-needed-entries in order to avoid confusion 222 with --as-needed option. 223 224* Extend .def file syntax by '== <ID>' for imports and exports. This allows 225 to alias the import/export table name written in PE image. 226 227* Add --exclude-all-symbols option to PE based linkers. This prevents all 228 symbols from automatically being exported. 229 230* Add support for the Renesas RX processor. 231 232* Add support for alpha-vms target. 233 234Changes in 2.20: 235 236* GNU/Linux targets now support the STB_GNU_UNIQUE symbol binding. This is a 237 GNU extension to the standard set of ELF symbol bindings. The binding will 238 be passed on to the dynamic linker which will make sure that in the entire 239 process there is just one symbol with the given name and type in use. 240 241* PE targets now support a GNU extension to allow the alignment of common 242 common symbols to be specified. This support uses custom options in 243 the .drectve section, which will be disregarded by the native tools. 244 245* PE targets now add primitive support for ELF version scripts; symbols 246 are not versioned, but the local and global symbol visibility directives 247 are respected when filtering symbols in auto-export mode. 248 249* New option --no-export-dynamic to undo the effect of the -E and 250 --export-dynamic options. 251 252* ELF: --warn-alternate-em option to warn if an object has alternate 253 ELF machine code. 254 255* New script function REGION_ALIAS to add alias names to memory regions. 256 257* PE targets no longer make use of the long section names PE extension to 258 the COFF format when generating executable images, by default. The old 259 (slightly non-conformant) behaviour can still be invoked by using the 260 new '--enable-long-section-names' command-line option. It is also enabled 261 automatically in the presence of un-stripped debug information, as GDB 262 needs to be able to find the debug info sections by their full names. 263 264* For GNU/Linux systems the linker will now avoid processing any relocations 265 made against symbols of the STT_GNU_IFUNC type and instead emit them into 266 the resulting binary for processing by the loader. 267 268* --as-needed now links in a dynamic library if it satisfies undefined 269 symbols in regular objects, or in other dynamic libraries. In the 270 latter case the library is not linked if it is found in a DT_NEEDED 271 entry of one of the libraries already linked. 272 273* Add a new command line option, -Ttext-segment ADDR, for ELF targets 274 to set the address of the first byte of the text segment. 275 276* Add support for Sunplus score architecture. 277 278* Add new option --use-nul-prefixed-import-tables to ld for PE targets to 279 allow fallback to old import table generation with null element prefix. 280 281* Windows PE systems now support a new --exclude-modules-for-implib option, 282 allowing users to partition object files and archive members between a DLL 283 and its associated import library as they are generated during linking. 284 285* Add support for Lattice Mico32 (lm32) architecture. 286 287* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries 288 for Embedded-PIC code) option. 289 290* Add to the PE/PE+ targets the support of two different kinds of 291 pseudo-relocations. They can be selected by the switches 292 --enable-runtime-pseudo-reloc-v1 and --enable-runtime-pseudo-reloc-v2. 293 For the switch --enable-runtime-pseudo-reloc it uses for 32-bit 294 runtime pseudo relocation version one, for 64-bit the version two. 295 296Changes in 2.19: 297 298* Linker scripts support a new INSERT command that makes it easier to 299 augment the default script. 300 301* Linker script input section filespecs may now specify a file within an 302 archive by writing "archive:file". 303 304* The --sort-common switch now has an optional argument which specifies the 305 direction of sorting. 306 307* The M68K linker now supports multiple GOT generation schemes controlled via 308 the --got=<type> command line option. 309 310* The ARM EABI linker will now generate stubs for function calls to symbols 311 that are too far away. The placement of the stubs is controlled by a new 312 linker command line option: --stub-group-size=N. 313 314Changes in 2.18: 315 316* Linker sources now released under version 3 of the GNU General Public 317 License. 318 319* ELF: New --build-id option to generate a unique per-binary identifier 320 embedded in a note section. 321 322* Added support for National Semicondutor CompactRISC (ie CR16) target. 323 324* -l:foo now searches the library path for a filename called foo, 325 without converting it to libfoo.a or libfoo.so. 326 327* Add a new command line option '--default-script=FILE' or '-dT FILE' 328 which specifies a replacement for the built in, default linker 329 script. 330 331* ELF: Add -Bsymbolic-functions, --dynamic-list-cpp-new, which puts C++ 332 operator new and delete on the dynamic list, and --dynamic-list-data, 333 builtin list for --dynamic-list, which puts global data symbols on the 334 dynamic list. 335 336* Add support for x86_64 PE+ target. 337 338* Add support for Score target. 339 340* ELF: Add --dynamic-list option to specify a list of global symbols 341 whose references shouldn't be bound to the definition within the 342 shared library, or a list of symbols which should be added to the 343 symbol table in the executable. 344 345* The default output section LMA has changed for allocatable sections from 346 being equal to VMA, to keeping the difference between LMA and VMA the same as 347 the previous output section in the same region. This is a more useful 348 default when using overlays and other cases where you specify an LMA 349 differing from the VMA for some sections. 350 351* New switch: --print-gc-sections to list any sections removed by garabge 352 collection. 353 354* ARM: Added --vfp11-denorm-fix option to work around an erratum in current 355 VFP11 coprocessors. 356 357Changes in 2.17: 358 359* Support for the Infineon XC16X has been added by KPIT Cummins Infosystems. 360 361* Modify the Linux linker search order to better match ld.so search order. 362 Look for DT_NEEDED libraries in paths specified by ld.so.conf before 363 searching the default directories, rather than vice versa. 364 Use $prefix/etc/ld.so.conf if it exists, otherwise /etc/ld.so.conf. 365 366* PE-COFF: Forward exports from DLL's can now be specified in .def files 367 passed directly to ld. 368 369* Support for the Z80 processor family has been added. 370 371* Add support for the "@<file>" syntax to the command line, so that extra 372 switches can be read from <file>. 373 374Changes in 2.16: 375 376* Support for the R_ARM_V4BX relocation as defined in the ARM AAELF 377 specification has been added via the --fix-v4bx command-line option. 378 379* New linker script construct AS_NEEDED(), which sets the --as-needed flag 380 for input files listed inside of it. 381 382* A new command-line option, --sysroot, can be used to override the 383 default sysroot location. It only applies to toolchains that were 384 configured using --with-sysroot. 385 386* New linker script functions: ORIGIN() and LENGTH() which return information 387 about a specified memory region. 388 389* Port to MAXQ processor contributed by HCL Tech. 390 391* Added SEGMENT_START to the linker script language to permit the user to 392 override the base address for a segment from the command-line. 393 394* ELF: --warn-shared-textrel option to warn if adding a DT_TEXTREL to a shared 395 object. 396 397* Added SORT_BY_NAME and SORT_BY_ALIGNMENT to the linker script 398 language to permit sorting sections by section name or section 399 maximum alignment. 400 401* Added a new linker command line switch, --sort-section name|alignment, 402 to sort sections by section name or maximum alignment. 403 404* ELF: --add-needed/--no-add-needed options to control if a DT_NEEDED tag 405 should be added when a shared library comes from DT_NEEDED tags. 406 407* Support for the crx-elf target added. 408 409* Support for the sh-symbianelf target added. 410 411* A new linker command line switch has been added which allows the hash table 412 size to be set to a suitable prime value near to its argument. This switch 413 is --hash-size=<NUMBER>. Also if the switch --reduce-memory-overheads is 414 used, and --hash-size has not been used, then the default value will be set 415 to 1021. 416 417* Linker map files are now generated with an O(N) algorithm for finding symbols 418 that are defined in each section. This uses about 40% more memory for 419 symbols than the old O(N^2) algorithm. You can use the new 420 --reduce-memory-overheads option to select the old algorithm; this option 421 might also be used in the future to select similar tradeoffs. 422 423Changes in 2.15: 424 425* ELF: --as-needed/--no-as-needed options to control if a DT_NEEDED tag should 426 be added only when a shared library is referenced. 427 428* PE: --large-address-aware option to indicate executables support virtual 429 addresses greater than 2 gigabytes. 430 431* DWARF 2 support for i386pe added. 432 433* The linker script operator DEFINED() will now yield 1 only for a symbol that 434 is defined before the statement where DEFINED is used. 435 436* The MIPS --embedded-relocs (used to embed relocations into binaries for 437 Embedded-PIC code) is deprecated and will be removed in a future release. 438 439* cr16c support added by NSC. 440 441* m32r Linux (ELF) support added by Renesas. 442 443* Improved linker's handling of unresolved symbols. The switch 444 --unresolved-symbols=<method> has been added to tell the linker when it 445 should report them and the switch --warn-unresolved-symbols has been added to 446 make reports be issued as warning messages rather than errors. 447 448Changes in 2.14: 449 450* Added support for Xtensa architecture. 451 452* Added --with-sysroot configure switch to specify a target system root, for 453 linking against a target filesystem image. 454 455* Added --accept-unknown-linker-format to restore old linker behaviour (pre 456 2.14) of silently accepting and linking in any files in an unknown binary 457 file format. 458 459* Added --no-omagic to undo the effects of the -N option. 460 461* Support for Texas Instruments TMS320C4x and TMS320C3x series of 462 DSP's contributed by Michael Hayes and Svein E. Seldal. 463 464* Added --with-lib-path configure switch to specify default value for 465 LIB_PATH. 466 467* ARM port to QNX operating system added by Graeme Peterson. 468 469* IP2K support added by Denis Chertykov. 470 471Changes in 2.13: 472 473* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400 474 and FR500 included. 475 476Changes in version 2.13: 477 478* DEC VAX ELF support, by Matt Thomas. 479 480Changes in version 2.12: 481 482* Support for Don Knuth's MMIX, by Hans-Peter Nilsson. 483 484* Support for the OpenRISC 32-bit embedded processor by OpenCores. 485 486* Support for -z nocopyreloc in the x86 ELF linker, which disables 487 production of copy relocs. Warning: using this option may result in 488 non-sharable applications. 489 490* Support for -z combreloc in the ELF linker, which puts dynamic 491 relocations against the same symbol together, so that dynamic linker 492 can use an one-entry symbol lookup cache. 493 494* Support for ELF SHF_MERGE section merging, by Jakub Jelinek. 495 496Changes in version 2.11: 497 498* Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs. 499 500* Support added for eliminating duplicate DWARF2 debug information by 501 having the compiler generate the information in sections called 502 .gnu.linkonce.wi.XXXX where XXXX is a checksum for the contents. The 503 linker then merges these sections together into the normal .debug_info 504 section. 505 506* The native ELF linker now searches the directories in DT_RUNPATH or 507 DT_RPATH of a shared library for shared libraries needed by it. 508 509* TI C54x support, by Timothy Wall. 510 511* Added command line switch --section-start to set the start address of any 512 specified section. 513 514* Added ability to emit full relocation information in linked executables, 515 enabled by --emit-relocs. Some post-linkage optimization tools need 516 this information in order to be able to correctly identify and perform 517 symbol relative addressing in the event of changes in section contents 518 (instructions being added or deleted, extending data sections, etc.) 519 520* Support for i860, by Jason Eckhardt (preliminary, alpha quality). 521 522* Support for CRIS (Axis Communications ETRAX series). 523 524* Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff. 525 526Changes in version 2.10: 527 528* Added AT> to the linker script language to allow load-time allocation of 529 sections into regions. 530 531* Added garbage collection of unused sections, enabled by --gc-sections. 532 It does require a bit of backend support; currently implemented are 533 arm-elf, avr-elf, d10v-elf, fr30-elf, i386-elf, m32r-elf, m68k-elf, 534 mcore-elf, mips-elf, mn10300-elf, ppc-elf, sh-elf, sparc-elf, and v850-elf. 535 Others will ignore the option. 536 537* Added SORT to the linker script language to permit sorting sections by file 538 name or section name. 539 540* Added EXTERN to the linker script language as an equivalent to the -u 541 command-line option. 542 543* Added ASSERT to the linker script language. 544 545* Added EXCLUDE_FILE to the linker script language for further control over 546 wildcard file names. 547 548* Added -O option to optimize linker output (as of this writing, this only 549 affects ELF shared library generation). 550 551* The -e option now accepts a number as well as a symbol name. 552 553* Added --no-undefined option to disallow undefined symbols when creating a 554 shared library. 555 556* The linker now issues a warning, not an error, for an undefined symbol when 557 using -Bsymbolic; use the new --no-undefined option to get the old 558 behaviour. 559 560* Added --demangle and --no-demangle options. 561 562Changes in version 2.9: 563 564* Added SQUAD to the linker script language. 565 566* New option --no-warn-mismatch. 567 568* The MEMORY command now parses the attributes to determine where sections that 569 are not placed in a specific memory region are placed. 570 571Changes in version 2.8: 572 573* Linker scripts may now contain shell wildcard characters for file and section 574 names. 575 576* The linker now supports symbol versions in ELF. 577 578* The NOCROSSREFS command was added to the linker script language. 579 580* The LOADADDR expression was added to the linker script language. 581 582* MAX and MIN functions were added to the linker script language. 583 584* The OVERLAY construct was added to the linker script language. 585 586* New option --warn-section-align to warn when the address of an output section 587 changes due to alignment of an input section. 588 589* New options --filter/-F and --auxiliary/-f. 590 591Changes in version 2.7: 592 593* New option --cref to print out a cross reference table. 594 595* New option --wrap SYMBOL. 596 597* New option --no-whole-archive, to turn off the effect of --whole-archive. 598 599* Input sections assigned to the output section /DISCARD/ in the linker script 600 are not included in the output file. 601 602* The SunOS and ELF linkers now merge stabs debugging information which uses 603 the N_BINCL and N_EINCL stab types. This reduces the amount of debugging 604 information generated. 605 606Changes in version 2.6: 607 608* When an ELF section name is representable as a C identifier (this is not true 609of most ELF section names), the linker will automatically define symbols 610__start_SECNAME and __stop_SECNAME, where SECNAME is the section name, at the 611beginning and the end of the section. This is used by glibc. 612 613 Addendum: Current versions of the linker (at least for version 2.18 onwards 614and possibly much earlier as well) place two restrictions on this feature: The 615symbols are only implemented for orphaned sections, not for explicitly placed 616sections and they are PROVIDEd rather than being defined. 617 618* When an ELF section named .gnu.warning is encountered in an input file, the 619contents of the section are displayed as an error message, and the section is 620not copied into the output file. This is used by glibc. 621 622* When an ELF section named .gnu.warning.SYMBOL is encountered in an input 623file, and the symbol SYMBOL is referenced by some object file, the contents of 624the section are displayed as an error message. The section is not copied into 625the output file, unless doing a relocatable or shared link. This is used by 626glibc. 627 628* New options -split-by-reloc and -split-by-file. 629 630* The linker now supports linking PIC compiled code on SPARC SunOS. It can 631also create SPARC SunOS shared libraries, and, like the native SunOS linker, 632will do so whenever there is an undefined symbol in the link and neither the -e 633nor the -r option was used. 634 635* The -rpath option may be used on SunOS to set the list of directories to be 636searched at run time. This overrides the default of building the list from the 637-L options. 638 639* The COFF linker now combines debugging information for structs, unions, and 640enums, so that even if the same type is defined in multiple input files it will 641only be defined once in the output file. The --traditional-format switch will 642prevent this optimization. 643 644Changes in version 2.5: 645 646* The linker now supports linking against SunOS shared libraries. It still can 647not link SunOS PIC (Position Independent Code) files, so it can not be used to 648generate shared libraries. 649 650* The linker now supports linking against ELF shared libraries for the i386 651(UnixWare) and SPARC (Solaris). It can also link ELF PIC files, and can be 652used to generate shared libraries. Shared library generation is not well 653tested; please report any problems encountered. The linker is now enabled for 654Solaris again. 655 656* Eric Youngdale has contributed Linux support code, including linking against 657Linux a.out shared libraries. The linker produces Linux QMAGIC binaries. 658 659* The ELF backend has been converted to the new linker code. To use the new 660ELF linker, each particular target requires a relocation function. So far, 661this function has been written for i386 (UnixWare), SPARC (Solaris) MIPS (Irix 6625), and HPPA ELF targets. 663 664* The -( (--start-group) and -) (--end-group) options have been added to 665support searching a group of archives as though they were a single archive. 666This can also be used in a linker script, as GROUP ( files ). 667 668* When a file is named on the command line, and the linker does not recognize 669it as an object file, the linker will now treat the file as a linker script 670file. A linker script named in this way augments, but does not replace, the 671default linker script. 672 673* The -warn-once option was added. It causes the linker to only warn once per 674undefined symbol, rather than once per reference. 675 676* The COFF backend has been converted to the new linker code. As with ELF, to 677use the new linker, each particular target requires a relocation function. So 678far, this function has been written for the i386, m68k, a29k and SH targets. 679 680* The -V flag was made a synonym for -v, for SVR4 compatibility. The old -V 681behaviour is available via --verbose. 682 683Changes in version 2.4: 684 685* New linker code, by Steve Chamberlain and Ian Taylor. For a.out and ecoff 686 formats (so far), this should result in considerable savings in time 687 and memory used while linking; slightly poorer performance than 688 before for formats not converted yet. 689 690* Command-line parsing is no longer done with flex. This means 691 oddball characters in filenames won't get treated as argument 692 separators. 693 694* HP-PA ELF support, by Jeff Law. (No SOM support yet.) 695 696* Mach i386 support, by David Mackenzie. 697 698* Irix 4 shared libraries are now supported (Irix 5 uses ELF, and ELF shared 699 libraries are not yet supported). 700 701* COFF shared libraries (as on SCO) should work as well. 702 703* The linker is disabled for Solaris. (Actually, it was in 2.3 also, I just 704 forgot to note it.) Some of their C library routines don't work when 705 statically linked, and the GNU linker doesn't support dynamic linking yet. 706 707Changes in version 2.3: 708 709* Weak symbols are now supported. 710 711* ELF support has been added. The linker has been bootstrapped on 712 UnixWare and Solaris. 713 714* Alpha OSF/1 support has been added (non dynamic linking only). 715 716Changes in version 2.2: 717 718* The `bfd' library has been updated to reduce a.out-format string 719 table size. The effect of this is that files linked from many input 720 files with duplicate symbols (`-g' debugging records, or identical 721 static symbols) should be much smaller. 722 723Changes in version 2.1: 724 725* The ld -ySYMBOL flag (to trace references to SYMBOL) is now implemented. 726 727* There is now support for writing ECOFF files, so ld and the 728 other utilities should work on Risc/Ultrix and Irix. 729 730 731Copyright (C) 2012-2018 Free Software Foundation, Inc. 732 733Copying and distribution of this file, with or without modification, 734are permitted in any medium without royalty provided the copyright 735notice and this notice are preserved. 736 737Local variables: 738fill-column: 79 739End: 740