Module Name:    src
Committed By:   martin
Date:           Tue Feb 25 20:05:48 UTC 2020

Modified Files:
        src/external/gpl3/binutils/dist/bfd [netbsd-9]: elf.c

Log Message:
Pull up following revision(s) (requested by rin in ticket #726):

        external/gpl3/binutils/dist/bfd/elf.c: revision 1.14

Fix 'nm /dev/ksyms' (noticed by ryo).

Since binutils 2.15, nm(1) cannot be used for character devices.

We worked around this by a local patch:
http://cvsweb.netbsd.org/bsdweb.cgi/src/gnu/dist/binutils/binutils/Attic/bucomm.c?r1=1.1.1.2&hideattic=0#rev1.2

With recent update of binutils, 'nm /dev/ksyms' got broken again.

This is due to a consistency check involving file size reported by
stat(2), which is always zero for character devices. So, skip this
check if file size is zero.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.13.2.1 src/external/gpl3/binutils/dist/bfd/elf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf.c
diff -u src/external/gpl3/binutils/dist/bfd/elf.c:1.13 src/external/gpl3/binutils/dist/bfd/elf.c:1.13.2.1
--- src/external/gpl3/binutils/dist/bfd/elf.c:1.13	Wed Nov  7 01:13:52 2018
+++ src/external/gpl3/binutils/dist/bfd/elf.c	Tue Feb 25 20:05:48 2020
@@ -298,7 +298,8 @@ bfd_elf_get_str_section (bfd *abfd, unsi
       /* Allocate and clear an extra byte at the end, to prevent crashes
 	 in case the string table is not terminated.  */
       if (shstrtabsize + 1 <= 1
-	  || shstrtabsize > bfd_get_file_size (abfd)
+	  || (bfd_get_file_size (abfd) > 0 /* not a character device */
+		&& shstrtabsize > bfd_get_file_size (abfd))
 	  || bfd_seek (abfd, offset, SEEK_SET) != 0
 	  || (shstrtab = (bfd_byte *) bfd_alloc (abfd, shstrtabsize + 1)) == NULL)
 	shstrtab = NULL;

Reply via email to