diff -rup binutils.orig/bfd/elfxx-mips.c binutils-2.30/bfd/elfxx-mips.c --- binutils.orig/bfd/elfxx-mips.c 2025-04-14 14:37:39.493183565 +0100 +++ binutils-2.30/bfd/elfxx-mips.c 2025-04-14 15:21:46.790126109 +0100 @@ -12663,7 +12663,13 @@ _bfd_mips_elf_find_nearest_line (bfd *ab if (_bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset, filename_ptr, functionname_ptr, line_ptr)) - return TRUE; + { + if (!*functionname_ptr) + _bfd_elf_find_function (abfd, symbols, section, offset, + *filename_ptr ? NULL : filename_ptr, + functionname_ptr); + return TRUE; + } msec = bfd_get_section_by_name (abfd, ".mdebug"); if (msec != NULL) Only in binutils-2.30/bfd: elfxx-mips.c.orig Only in binutils-2.30/bfd: elfxx-mips.c.rej --- binutils.orig/bfd/elfnn-aarch64.c 2025-04-14 16:12:13.360826181 +0100 +++ binutils-2.30/bfd/elfnn-aarch64.c 2025-04-14 16:12:23.093850802 +0100 @@ -9340,9 +9340,6 @@ const struct elf_size_info elfNN_aarch64 #define bfd_elfNN_find_inliner_info \ elfNN_aarch64_find_inliner_info -#define bfd_elfNN_find_nearest_line \ - elfNN_aarch64_find_nearest_line - #define bfd_elfNN_mkobject \ elfNN_aarch64_mkobject --- binutils.orig/ld/testsuite/ld-elf/shared.exp 2025-04-14 16:53:49.130385164 +0100 +++ binutils-2.30/ld/testsuite/ld-elf/shared.exp 2025-04-14 16:55:00.988577546 +0100 @@ -1175,5 +1175,5 @@ proc mix_pic_and_non_pic {xfails cflags } } -mix_pic_and_non_pic [list "arm*-*-*" "aarch64*-*-*"] "" "" "pr19719" +mix_pic_and_non_pic [list "arm*-*-*"] "" "" "pr19719" mix_pic_and_non_pic [] "-fPIE" "-pie" "pr19719pie" --- binutils.orig/binutils/testsuite/binutils-all/note-4-32.d 2025-04-14 17:23:54.644395476 +0100 +++ binutils-2.30/binutils/testsuite/binutils-all/note-4-32.d 2025-04-14 17:26:39.586454845 +0100 @@ -7,7 +7,7 @@ #... Displaying notes found in: .gnu.build.attributes [ ]+Owner[ ]+Data size[ ]+Description -[ ]+GA\$3p3[ ]+0x00000008[ ]+OPEN[ ]+Applies to region from 0x10. to 0x110 \(note_4.s\) +[ ]+GA\$3p3[ ]+0x00000008[ ]+OPEN[ ]+Applies to region from 0x10. to 0x11.* [ ]+GA\*off[ ]+0x00000000[ ]+OPEN[ ]+Applies to region from 0x10. to 0x110 [ ]+GA\$gcc 7.2.1 20170915[ ]+0x00000000[ ]+OPEN[ ]+Applies to region from 0x10. to 0x110 [ ]+GA\*0x[0-9a-f]+[ ]+0x00000000[ ]+OPEN[ ]+Applies to region from 0x10. to 0x110 --- binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp 2025-04-14 17:23:54.830382824 +0100 +++ binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp 2025-04-14 17:31:18.698165689 +0100 @@ -33,8 +33,6 @@ if { [which $CC] == 0 } { # Square bracket expressions seem to confuse istarget. if { ![istarget hppa*64*-*-hpux*] \ && ![istarget hppa*-*-linux*] \ - && ![istarget i?86-*-linux*] \ - && ![istarget i?86-*-gnu*] \ && ![istarget *-*-nacl*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ --- binutils.orig/ld/testsuite/ld-gc/pr14265.d 2025-04-14 17:23:54.911798140 +0100 +++ binutils-2.30/ld/testsuite/ld-gc/pr14265.d 2025-04-14 17:36:40.474995921 +0100 @@ -2,6 +2,7 @@ #source: dummy.s #ld: --gc-sections -T pr14265.t -e 0 tmpdir/pr14265.o #nm: --format=bsd --numeric-sort +#xfail: i686-* #... [0-9a-f]+[ ][dD][ ]_*foo1_start --- binutils.orig/ld/testsuite/ld-i386/i386.exp 2025-04-14 17:23:54.814035200 +0100 +++ binutils-2.30/ld/testsuite/ld-i386/i386.exp 2025-04-14 17:39:31.828450692 +0100 @@ -539,6 +539,7 @@ global PLT_CFLAGS if { [isnative] && [istarget "i?86-*-linux*"] && [which $CC] != 0 } { + return run_cc_link_tests [list \ [list \ "Build plt-lib.so" \ --- binutils.orig/ld/testsuite/ld-scripts/crossref.exp 2025-04-14 17:23:54.961035575 +0100 +++ binutils-2.30/ld/testsuite/ld-scripts/crossref.exp 2025-04-14 17:41:29.996764330 +0100 @@ -193,6 +193,8 @@ set exec_output [prune_warnings $exec_ou regsub -all "(^|\n)($ld: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output +setup_xfail i686-*-* + if [string match "" $exec_output] then { pass $test6 } else { @@ -205,6 +207,8 @@ set exec_output [prune_warnings $exec_ou regsub -all "(^|\n)($ld: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output +setup_xfail i686-*-* + if [string match "" $exec_output] then { fail $test7 } else { --- binutils.orig/ld/testsuite/ld-shared/shared.exp 2025-04-14 17:23:54.876443086 +0100 +++ binutils-2.30/ld/testsuite/ld-shared/shared.exp 2025-04-14 17:42:32.339929783 +0100 @@ -37,8 +37,6 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget i?86-*-sysv4*] \ && ![istarget i?86-*-unixware] \ && ![istarget i?86-*-elf*] \ - && ![istarget i?86-*-linux*] \ - && ![istarget i?86-*-gnu*] \ && ![istarget *-*-nacl*] \ && ![istarget ia64-*-elf*] \ && ![istarget ia64-*-linux*] \ --- binutils.orig/ld/testsuite/ld-srec/srec.exp 2025-04-14 17:23:54.819825564 +0100 +++ binutils-2.30/ld/testsuite/ld-srec/srec.exp 2025-04-14 17:43:53.365144820 +0100 @@ -19,7 +19,7 @@ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, # MA 02110-1301, USA. -if [istarget x86_64-*-*] { +if { [istarget x86_64-*-*] || [istarget i686-*-*] } { # The S-record tests are failing for some configurations # of x86_64-linux builds, but not others. Not worth # investigating however as S-record conversion can always --- binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp 2025-04-14 18:29:06.287599336 +0100 +++ binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp 2025-04-14 18:31:19.684761021 +0100 @@ -41,7 +41,6 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget arm*-*-linux*] \ && ![istarget alpha*-*-linux*] \ && ![istarget sparc*-*-linux*] \ - && ![istarget s390*-*-linux*] \ && ![istarget sh\[34\]*-*-linux*] \ && ![istarget x86_64-*-linux*] } { return