-#!/bin/sh -e
-## 209-hjl-binutils-error.dpatch
-##
-## DP: Description: Avoid unnecessary linker messages when running "make check"
-## DP: Author: H.J. Lu <hongjiu.lu@intel.com>
-## DP: Upstream status: hjl 2.17.50.0.18
-## DP: Original patch: binutils-error-3.patch
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-bfd/
-
-2007-05-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/4409
- * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add an argument for
- error ignored.
- * elf-m10200.c (mn10200_elf_relocate_section): Updated.
- * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
- * elf32-arm.c (elf32_arm_relocate_section): Likewise.
- * elf32-avr.c (elf32_avr_relocate_section): Likewise.
- * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
- (bfin_relocate_section): Likewise.
- * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-crx.c (elf32_crx_relocate_section): Likewise.
- * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
- * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
- * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
- * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
- * elf32-mt.c (mt_elf_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-spu.c (spu_elf_relocate_section): Likewise.
- * elf32-v850.c (v850_elf_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Skip if error
- from RELOC_FOR_GLOBAL_SYMBOL in executable is ignored.
-
-ld/testsuite/
-
-2007-05-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/4409
- * ld-ia64/error1.d: New file.
- * ld-ia64/error1.s: Likewise.
-
-@DPATCH@
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf-bfd.h binutils-2.18~cvs20070812/bfd/elf-bfd.h
---- binutils-2.18~cvs20070812~/bfd/elf-bfd.h 2007-08-12 13:36:50.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf-bfd.h 2007-08-12 13:37:05.000000000 +0200
-@@ -2064,7 +2064,7 @@
- #define RELOC_FOR_GLOBAL_SYMBOL(info, input_bfd, input_section, rel, \
- r_symndx, symtab_hdr, sym_hashes, \
- h, sec, relocation, \
-- unresolved_reloc, warned) \
-+ unresolved_reloc, warned, ignored) \
- do \
- { \
- /* It seems this can happen with erroneous or unsupported \
-@@ -2079,6 +2079,7 @@
- h = (struct elf_link_hash_entry *) h->root.u.i.link; \
- \
- warned = FALSE; \
-+ ignored = FALSE; \
- unresolved_reloc = FALSE; \
- relocation = 0; \
- if (h->root.type == bfd_link_hash_defined \
-@@ -2101,7 +2102,7 @@
- ; \
- else if (info->unresolved_syms_in_objects == RM_IGNORE \
- && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) \
-- ; \
-+ ignored = TRUE; \
- else if (!info->relocatable) \
- { \
- bfd_boolean err; \
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf-m10200.c binutils-2.18~cvs20070812/bfd/elf-m10200.c
---- binutils-2.18~cvs20070812~/bfd/elf-m10200.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf-m10200.c 2007-08-12 13:37:05.000000000 +0200
-@@ -392,12 +392,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf-m10300.c binutils-2.18~cvs20070812/bfd/elf-m10300.c
---- binutils-2.18~cvs20070812~/bfd/elf-m10300.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf-m10300.c 2007-08-12 13:37:05.000000000 +0200
-@@ -1417,13 +1417,13 @@
- else
- {
- bfd_boolean unresolved_reloc;
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- struct elf_link_hash_entry *hh;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- hh, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- h = (struct elf32_mn10300_link_hash_entry *) hh;
-
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-arm.c binutils-2.18~cvs20070812/bfd/elf32-arm.c
---- binutils-2.18~cvs20070812~/bfd/elf32-arm.c 2007-08-06 20:47:21.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-arm.c 2007-08-12 13:37:05.000000000 +0200
-@@ -6398,12 +6398,12 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- sym_type = h->type;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-avr.c binutils-2.18~cvs20070812/bfd/elf32-avr.c
---- binutils-2.18~cvs20070812~/bfd/elf32-avr.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-avr.c 2007-08-12 13:37:05.000000000 +0200
-@@ -1204,12 +1204,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- name = h->root.root.string;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-bfin.c binutils-2.18~cvs20070812/bfd/elf32-bfin.c
---- binutils-2.18~cvs20070812~/bfd/elf32-bfin.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-bfin.c 2007-08-12 13:37:05.000000000 +0200
-@@ -2197,13 +2197,13 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- bfd_boolean unresolved_reloc;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- osec = sec;
- }
-
-@@ -2895,12 +2895,12 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-cr16.c binutils-2.18~cvs20070812/bfd/elf32-cr16.c
---- binutils-2.18~cvs20070812~/bfd/elf32-cr16.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-cr16.c 2007-08-12 13:37:05.000000000 +0200
-@@ -837,12 +837,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- r = cr16_elf_final_link_relocate (howto, input_bfd, output_bfd,
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-cr16c.c binutils-2.18~cvs20070812/bfd/elf32-cr16c.c
---- binutils-2.18~cvs20070812~/bfd/elf32-cr16c.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-cr16c.c 2007-08-12 13:37:05.000000000 +0200
-@@ -718,12 +718,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-cris.c binutils-2.18~cvs20070812/bfd/elf32-cris.c
---- binutils-2.18~cvs20070812~/bfd/elf32-cris.c 2007-07-03 16:26:40.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-cris.c 2007-08-12 13:37:05.000000000 +0200
-@@ -996,13 +996,13 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- bfd_boolean unresolved_reloc;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- if (unresolved_reloc
- /* Perhaps we should detect the cases that
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-crx.c binutils-2.18~cvs20070812/bfd/elf32-crx.c
---- binutils-2.18~cvs20070812~/bfd/elf32-crx.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-crx.c 2007-08-12 13:37:05.000000000 +0200
-@@ -869,12 +869,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-d10v.c binutils-2.18~cvs20070812/bfd/elf32-d10v.c
---- binutils-2.18~cvs20070812~/bfd/elf32-d10v.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-d10v.c 2007-08-12 13:37:05.000000000 +0200
-@@ -456,12 +456,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-fr30.c binutils-2.18~cvs20070812/bfd/elf32-fr30.c
---- binutils-2.18~cvs20070812~/bfd/elf32-fr30.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-fr30.c 2007-08-12 13:37:05.000000000 +0200
-@@ -567,12 +567,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- name = h->root.root.string;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-frv.c binutils-2.18~cvs20070812/bfd/elf32-frv.c
---- binutils-2.18~cvs20070812~/bfd/elf32-frv.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-frv.c 2007-08-12 13:37:05.000000000 +0200
-@@ -2813,13 +2813,13 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- bfd_boolean unresolved_reloc;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- osec = sec;
- }
-
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-h8300.c binutils-2.18~cvs20070812/bfd/elf32-h8300.c
---- binutils-2.18~cvs20070812~/bfd/elf32-h8300.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-h8300.c 2007-08-12 13:37:05.000000000 +0200
-@@ -452,12 +452,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-hppa.c binutils-2.18~cvs20070812/bfd/elf32-hppa.c
---- binutils-2.18~cvs20070812~/bfd/elf32-hppa.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-hppa.c 2007-08-12 13:37:05.000000000 +0200
-@@ -3676,13 +3676,14 @@
- else
- {
- struct elf_link_hash_entry *eh;
-- bfd_boolean unresolved_reloc;
-+ bfd_boolean unresolved_reloc, ignored;
- struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rela,
- r_symndx, symtab_hdr, sym_hashes,
- eh, sym_sec, relocation,
-- unresolved_reloc, warned_undef);
-+ unresolved_reloc, warned_undef,
-+ ignored);
-
- if (!info->relocatable
- && relocation == 0
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-i386.c binutils-2.18~cvs20070812/bfd/elf32-i386.c
---- binutils-2.18~cvs20070812~/bfd/elf32-i386.c 2007-07-27 20:50:18.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-i386.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2346,12 +2346,12 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-i860.c binutils-2.18~cvs20070812/bfd/elf32-i860.c
---- binutils-2.18~cvs20070812~/bfd/elf32-i860.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-i860.c 2007-08-12 13:37:06.000000000 +0200
-@@ -1120,12 +1120,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-ip2k.c binutils-2.18~cvs20070812/bfd/elf32-ip2k.c
---- binutils-2.18~cvs20070812~/bfd/elf32-ip2k.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-ip2k.c 2007-08-12 13:37:06.000000000 +0200
-@@ -1449,13 +1449,13 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- bfd_boolean unresolved_reloc;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- name = h->root.root.string;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-iq2000.c binutils-2.18~cvs20070812/bfd/elf32-iq2000.c
---- binutils-2.18~cvs20070812~/bfd/elf32-iq2000.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-iq2000.c 2007-08-12 13:37:06.000000000 +0200
-@@ -586,12 +586,12 @@
- else
- {
- bfd_boolean unresolved_reloc;
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- name = h->root.root.string;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-m68hc1x.c binutils-2.18~cvs20070812/bfd/elf32-m68hc1x.c
---- binutils-2.18~cvs20070812~/bfd/elf32-m68hc1x.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-m68hc1x.c 2007-08-12 13:37:06.000000000 +0200
-@@ -945,12 +945,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation, unresolved_reloc,
-- warned);
-+ warned, ignored);
-
- is_far = (h && (h->other & STO_M68HC12_FAR));
- stub_name = h->root.root.string;
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-m68k.c binutils-2.18~cvs20070812/bfd/elf32-m68k.c
---- binutils-2.18~cvs20070812~/bfd/elf32-m68k.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-m68k.c 2007-08-12 13:37:06.000000000 +0200
-@@ -1646,12 +1646,12 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-mcore.c binutils-2.18~cvs20070812/bfd/elf32-mcore.c
---- binutils-2.18~cvs20070812~/bfd/elf32-mcore.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-mcore.c 2007-08-12 13:37:06.000000000 +0200
-@@ -458,12 +458,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-msp430.c binutils-2.18~cvs20070812/bfd/elf32-msp430.c
---- binutils-2.18~cvs20070812~/bfd/elf32-msp430.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-msp430.c 2007-08-12 13:37:06.000000000 +0200
-@@ -450,12 +450,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-mt.c binutils-2.18~cvs20070812/bfd/elf32-mt.c
---- binutils-2.18~cvs20070812~/bfd/elf32-mt.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-mt.c 2007-08-12 13:37:06.000000000 +0200
-@@ -344,12 +344,12 @@
- else
- {
- bfd_boolean unresolved_reloc;
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- name = h->root.root.string;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-openrisc.c binutils-2.18~cvs20070812/bfd/elf32-openrisc.c
---- binutils-2.18~cvs20070812~/bfd/elf32-openrisc.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-openrisc.c 2007-08-12 13:37:06.000000000 +0200
-@@ -365,12 +365,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-ppc.c binutils-2.18~cvs20070812/bfd/elf32-ppc.c
---- binutils-2.18~cvs20070812~/bfd/elf32-ppc.c 2007-07-10 09:42:30.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-ppc.c 2007-08-12 13:37:06.000000000 +0200
-@@ -5718,10 +5718,12 @@
- }
- else
- {
-+ bfd_boolean ignored;
-+
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- sym_name = h->root.root.string;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-s390.c binutils-2.18~cvs20070812/bfd/elf32-s390.c
---- binutils-2.18~cvs20070812~/bfd/elf32-s390.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-s390.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2311,11 +2311,12 @@
- else
- {
- bfd_boolean warned ATTRIBUTE_UNUSED;
-+ bfd_boolean ignored ATTRIBUTE_UNUSED;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-spu.c binutils-2.18~cvs20070812/bfd/elf32-spu.c
---- binutils-2.18~cvs20070812~/bfd/elf32-spu.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-spu.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2724,10 +2724,12 @@
- }
- else
- {
-+ bfd_boolean ignored;
-+
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- sym_name = h->root.root.string;
- }
-
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-v850.c binutils-2.18~cvs20070812/bfd/elf32-v850.c
---- binutils-2.18~cvs20070812~/bfd/elf32-v850.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-v850.c 2007-08-12 13:37:06.000000000 +0200
-@@ -1624,7 +1624,7 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- /* Note - this check is delayed until now as it is possible and
- valid to have a file without any symbols but with relocs that
-@@ -1641,7 +1641,7 @@
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-vax.c binutils-2.18~cvs20070812/bfd/elf32-vax.c
---- binutils-2.18~cvs20070812~/bfd/elf32-vax.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-vax.c 2007-08-12 13:37:06.000000000 +0200
-@@ -1415,12 +1415,12 @@
- else
- {
- bfd_boolean unresolved_reloc;
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- if ((h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-xc16x.c binutils-2.18~cvs20070812/bfd/elf32-xc16x.c
---- binutils-2.18~cvs20070812~/bfd/elf32-xc16x.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-xc16x.c 2007-08-12 13:37:06.000000000 +0200
-@@ -374,12 +374,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-xstormy16.c binutils-2.18~cvs20070812/bfd/elf32-xstormy16.c
---- binutils-2.18~cvs20070812~/bfd/elf32-xstormy16.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-xstormy16.c 2007-08-12 13:37:06.000000000 +0200
-@@ -821,12 +821,12 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc, warned;
-+ bfd_boolean unresolved_reloc, warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf32-xtensa.c binutils-2.18~cvs20070812/bfd/elf32-xtensa.c
---- binutils-2.18~cvs20070812~/bfd/elf32-xtensa.c 2007-07-18 23:06:06.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf32-xtensa.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2055,10 +2055,12 @@
- }
- else
- {
-+ bfd_boolean ignored;
-+
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- if (relocation == 0
- && !unresolved_reloc
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf64-alpha.c binutils-2.18~cvs20070812/bfd/elf64-alpha.c
---- binutils-2.18~cvs20070812~/bfd/elf64-alpha.c 2007-07-10 06:08:11.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf64-alpha.c 2007-08-12 13:37:06.000000000 +0200
-@@ -4176,7 +4176,7 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- bfd_boolean unresolved_reloc;
- struct elf_link_hash_entry *hh;
- struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
-@@ -4184,7 +4184,7 @@
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- hh, sec, value,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- if (warned)
- continue;
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf64-mmix.c binutils-2.18~cvs20070812/bfd/elf64-mmix.c
---- binutils-2.18~cvs20070812~/bfd/elf64-mmix.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf64-mmix.c 2007-08-12 13:37:06.000000000 +0200
-@@ -1402,12 +1402,13 @@
- }
- else
- {
-- bfd_boolean unresolved_reloc;
-+ bfd_boolean unresolved_reloc, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, undefined_signalled);
-+ unresolved_reloc, undefined_signalled,
-+ ignored);
- name = h->root.root.string;
- }
-
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf64-ppc.c binutils-2.18~cvs20070812/bfd/elf64-ppc.c
---- binutils-2.18~cvs20070812~/bfd/elf64-ppc.c 2007-07-03 16:26:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf64-ppc.c 2007-08-12 13:37:06.000000000 +0200
-@@ -9900,10 +9900,12 @@
- }
- else
- {
-+ bfd_boolean ignored;
-+
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h_elf, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- sym_name = h_elf->root.root.string;
- sym_type = h_elf->type;
- }
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf64-s390.c binutils-2.18~cvs20070812/bfd/elf64-s390.c
---- binutils-2.18~cvs20070812~/bfd/elf64-s390.c 2007-07-10 06:08:11.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf64-s390.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2285,11 +2285,12 @@
- else
- {
- bfd_boolean warned ATTRIBUTE_UNUSED;
-+ bfd_boolean ignored ATTRIBUTE_UNUSED;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elf64-x86-64.c binutils-2.18~cvs20070812/bfd/elf64-x86-64.c
---- binutils-2.18~cvs20070812~/bfd/elf64-x86-64.c 2007-07-03 16:26:42.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elf64-x86-64.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2104,12 +2104,12 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- }
-
- if (sec != NULL && elf_discarded_section (sec))
-diff -urNad binutils-2.18~cvs20070812~/bfd/elfxx-ia64.c binutils-2.18~cvs20070812/bfd/elfxx-ia64.c
---- binutils-2.18~cvs20070812~/bfd/elfxx-ia64.c 2007-07-03 16:26:42.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elfxx-ia64.c 2007-08-12 13:37:06.000000000 +0200
-@@ -4741,17 +4741,17 @@
- else
- {
- bfd_boolean unresolved_reloc;
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
- struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sym_sec, value,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
-
- if (h->root.type == bfd_link_hash_undefweak)
- undef_weak_ref = TRUE;
-- else if (warned)
-+ else if (warned || (ignored && info->executable))
- continue;
- }
-
-diff -urNad binutils-2.18~cvs20070812~/bfd/elfxx-sparc.c binutils-2.18~cvs20070812/bfd/elfxx-sparc.c
---- binutils-2.18~cvs20070812~/bfd/elfxx-sparc.c 2007-07-03 16:26:42.000000000 +0200
-+++ binutils-2.18~cvs20070812/bfd/elfxx-sparc.c 2007-08-12 13:37:06.000000000 +0200
-@@ -2533,12 +2533,12 @@
- }
- else
- {
-- bfd_boolean warned;
-+ bfd_boolean warned, ignored;
-
- RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
- r_symndx, symtab_hdr, sym_hashes,
- h, sec, relocation,
-- unresolved_reloc, warned);
-+ unresolved_reloc, warned, ignored);
- if (warned)
- {
- /* To avoid generating warning messages about truncated
-diff -urNad binutils-2.18~cvs20070812~/ld/ldmain.c binutils-2.18~cvs20070812/ld/ldmain.c
---- binutils-2.18~cvs20070812~/ld/ldmain.c 2007-07-06 16:09:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/ld/ldmain.c 2007-08-12 13:37:06.000000000 +0200
-@@ -103,6 +103,9 @@
- /* TRUE if we should demangle symbol names. */
- bfd_boolean demangling;
-
-+/* How to report unresolved symbols. */
-+enum report_method how_to_report_unresolved_symbols = RM_GENERATE_ERROR;
-+
- args_type command_line;
-
- ld_config_type config;
-@@ -348,6 +351,27 @@
- if (! link_info.shared || link_info.pie)
- link_info.executable = TRUE;
-
-+ /* When creating a shared library, the default behaviour is to
-+ ignore any unresolved references. */
-+
-+ if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
-+ {
-+ if (link_info.shared && !link_info.pie)
-+ link_info.unresolved_syms_in_objects = RM_IGNORE;
-+ else
-+ link_info.unresolved_syms_in_objects
-+ = how_to_report_unresolved_symbols;
-+ }
-+
-+ if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
-+ {
-+ if (link_info.shared && !link_info.pie)
-+ link_info.unresolved_syms_in_shared_libs = RM_IGNORE;
-+ else
-+ link_info.unresolved_syms_in_shared_libs
-+ = how_to_report_unresolved_symbols;
-+ }
-+
- /* Treat ld -r -s as ld -r -S -x (i.e., strip all local symbols). I
- don't see how else this can be handled, since in this case we
- must preserve all externally visible symbols. */
-diff -urNad binutils-2.18~cvs20070812~/ld/ldmain.h binutils-2.18~cvs20070812/ld/ldmain.h
---- binutils-2.18~cvs20070812~/ld/ldmain.h 2007-07-06 16:09:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/ld/ldmain.h 2007-08-12 13:37:06.000000000 +0200
-@@ -35,6 +35,7 @@
- extern bfd_boolean as_needed;
- extern bfd_boolean add_needed;
- extern bfd_boolean demangling;
-+extern enum report_method how_to_report_unresolved_symbols;
- extern int g_switch_value;
- extern const char *output_filename;
- extern struct bfd_link_info link_info;
-diff -urNad binutils-2.18~cvs20070812~/ld/lexsup.c binutils-2.18~cvs20070812/ld/lexsup.c
---- binutils-2.18~cvs20070812~/ld/lexsup.c 2007-07-06 16:09:41.000000000 +0200
-+++ binutils-2.18~cvs20070812/ld/lexsup.c 2007-08-12 13:37:06.000000000 +0200
-@@ -567,7 +567,6 @@
- struct option *longopts;
- struct option *really_longopts;
- int last_optind;
-- enum report_method how_to_report_unresolved_symbols = RM_GENERATE_ERROR;
-
- shortopts = xmalloc (OPTION_COUNT * 3 + 2);
- longopts = xmalloc (sizeof (*longopts) * (OPTION_COUNT + 1));
-@@ -1113,12 +1112,7 @@
- if (config.has_shared)
- {
- link_info.shared = TRUE;
-- /* When creating a shared library, the default
-- behaviour is to ignore any unresolved references. */
-- if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
-- link_info.unresolved_syms_in_objects = RM_IGNORE;
-- if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
-- link_info.unresolved_syms_in_shared_libs = RM_IGNORE;
-+ link_info.pie = FALSE;
- }
- else
- einfo (_("%P%F: -shared not supported\n"));
-@@ -1444,14 +1438,6 @@
- set_default_dirlist (default_dirlist);
- free (default_dirlist);
- }
--
-- if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
-- /* FIXME: Should we allow emulations a chance to set this ? */
-- link_info.unresolved_syms_in_objects = how_to_report_unresolved_symbols;
--
-- if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
-- /* FIXME: Should we allow emulations a chance to set this ? */
-- link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols;
- }
-
- /* Add the (colon-separated) elements of DIRLIST_PTR to the
-diff -urNad binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error1.d binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error1.d
---- binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error1.d 1970-01-01 01:00:00.000000000 +0100
-+++ binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error1.d 2007-08-12 13:37:06.000000000 +0200
-@@ -0,0 +1,7 @@
-+#source: error1.s
-+#ld: -unresolved-symbols=ignore-all
-+#readelf: -s
-+
-+#...
-+[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
-+#pass
-diff -urNad binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error1.s binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error1.s
---- binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error1.s 1970-01-01 01:00:00.000000000 +0100
-+++ binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error1.s 2007-08-12 13:37:06.000000000 +0200
-@@ -0,0 +1,30 @@
-+ .explicit
-+ .pred.safe_across_calls p1-p5,p16-p63
-+ .text
-+ .align 16
-+ .global _start#
-+ .proc _start#
-+_start:
-+ .prologue 12, 32
-+ .mii
-+ .save ar.pfs, r33
-+ alloc r33 = ar.pfs, 0, 3, 0, 0
-+ .save rp, r32
-+ mov r32 = b0
-+ mov r34 = r1
-+ .body
-+ ;;
-+ .bbb
-+ nop 0
-+ nop 0
-+ br.call.sptk.many b0 = foo#
-+ ;;
-+ .mmi
-+ nop 0
-+ mov r1 = r34
-+ mov b0 = r32
-+ .mib
-+ nop 0
-+ mov ar.pfs = r33
-+ br.ret.sptk.many b0
-+ .endp _start#
-diff -urNad binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error2.d binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error2.d
---- binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error2.d 1970-01-01 01:00:00.000000000 +0100
-+++ binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error2.d 2007-08-12 13:37:06.000000000 +0200
-@@ -0,0 +1,7 @@
-+#source: error1.s
-+#ld: -pie -unresolved-symbols=ignore-all
-+#readelf: -s
-+
-+#...
-+[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
-+#pass
-diff -urNad binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error3.d binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error3.d
---- binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error3.d 1970-01-01 01:00:00.000000000 +0100
-+++ binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error3.d 2007-08-12 13:37:06.000000000 +0200
-@@ -0,0 +1,7 @@
-+#source: error1.s
-+#ld: -pie -shared
-+#readelf: -s
-+
-+#...
-+[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
-+#pass
-diff -urNad binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error4.d binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error4.d
---- binutils-2.18~cvs20070812~/ld/testsuite/ld-ia64/error4.d 1970-01-01 01:00:00.000000000 +0100
-+++ binutils-2.18~cvs20070812/ld/testsuite/ld-ia64/error4.d 2007-08-12 13:37:06.000000000 +0200
-@@ -0,0 +1,3 @@
-+#source: error1.s
-+#ld: -shared -pie
-+#error: .*undefined reference to `foo'