Created attachment 5336 [details] The input file that crashes ld Overview ======== ld, when supplied with malformed file as a linker script, generates a buffer overflow. Overflow goes undetected, but it corrupts the stack memory and hence can lead to a crash in future. Buffer overflow can be confirmed if D_FORTIFY_SOURCE=2 gcc option is used. The crash occurs in function lex_warn_invalid in file ldlex.l at line sprintf (buf, "\\%03o", (unsigned int) *what); when *what in hex is greater than 0x7F, the corresponding unsigned integer value is very large, and hence the octal representation does not fit within 3 bytes of buf, causing the overflow of buf. E.g. when *what = 0x80; the corresponding unsigned int value is 4294967168, with corresponding octal value being 37777777600. Build versions ============== Binutils version 2.21, 2.20-1 and (may be) prior to 2.20-1. (I have verified the bug on 2.21, 2.20-1). I can see in cvsweb for ld that, the latest version (revision 1.51) of ldlex.l still has this error. Steps to Reproduce =================== To verify the crash ------------------- 1. Compile ld source code with gcc's -D_FORTIFY_SOURCE=2 option. 2. run following command ld -T input_file a.out (NOTE: input_file is attached to the report) 3. You should get following output: ./ld:/tmp/input_file:1: ignoring invalid character `\177' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\002' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\003' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression *** buffer overflow detected ***: ./ld terminated ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x50)[0xbf9390] /lib/tls/i686/cmov/libc.so.6(+0xe12ca)[0xbf82ca] /lib/tls/i686/cmov/libc.so.6(+0xe0a08)[0xbf7a08] /lib/tls/i686/cmov/libc.so.6(_IO_default_xsputn+0x9e)[0xb80afe] /lib/tls/i686/cmov/libc.so.6(_IO_vfprintf+0xe24)[0xb54a34] /lib/tls/i686/cmov/libc.so.6(__vsprintf_chk+0xad)[0xbf7abd] /lib/tls/i686/cmov/libc.so.6(__sprintf_chk+0x2d)[0xbf79fd] ./ld[0x804d601] ./ld[0x804e3b2] ./ld[0x804a5bb] ./ld[0x80500e6] ./ld[0x805e302] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb2dbd6] ./ld[0x8049c41] ======= Memory map: ======== 001ce000-001e9000 r-xp 00000000 08:21 3629825 /lib/ld-2.11.1.so 001e9000-001ea000 r--p 0001a000 08:21 3629825 /lib/ld-2.11.1.so 001ea000-001eb000 rw-p 0001b000 08:21 3629825 /lib/ld-2.11.1.so 004c0000-004c1000 r-xp 00000000 00:00 0 [vdso] 00556000-00558000 r-xp 00000000 08:21 3654023 /lib/tls/i686/cmov/libdl-2.11.1.so 00558000-00559000 r--p 00001000 08:21 3654023 /lib/tls/i686/cmov/libdl-2.11.1.so 00559000-0055a000 rw-p 00002000 08:21 3654023 /lib/tls/i686/cmov/libdl-2.11.1.so 00b17000-00c6a000 r-xp 00000000 08:21 3654020 /lib/tls/i686/cmov/libc-2.11.1.so 00c6a000-00c6b000 ---p 00153000 08:21 3654020 /lib/tls/i686/cmov/libc-2.11.1.so 00c6b000-00c6d000 r--p 00153000 08:21 3654020 /lib/tls/i686/cmov/libc-2.11.1.so 00c6d000-00c6e000 rw-p 00155000 08:21 3654020 /lib/tls/i686/cmov/libc-2.11.1.so 00c6e000-00c71000 rw-p 00000000 00:00 0 00d3f000-00d5c000 r-xp 00000000 08:21 3629139 /lib/libgcc_s.so.1 00d5c000-00d5d000 r--p 0001c000 08:21 3629139 /lib/libgcc_s.so.1 00d5d000-00d5e000 rw-p 0001d000 08:21 3629139 /lib/libgcc_s.so.1 08048000-0811f000 r-xp 00000000 08:21 5457170 /home/niranjan/test/binutils-2.21/installdir/bin/ld 0811f000-08120000 r--p 000d6000 08:21 5457170 /home/niranjan/test/binutils-2.21/installdir/bin/ld 08120000-08122000 rw-p 000d7000 08:21 5457170 /home/niranjan/test/binutils-2.21/installdir/bin/ld 08122000-08126000 rw-p 00000000 00:00 0 087b9000-087da000 rw-p 00000000 00:00 0 [heap] b77eb000-b77ed000 rw-p 00000000 00:00 0 b77fb000-b77fe000 rw-p 00000000 00:00 0 bfa5a000-bfa6f000 rw-p 00000000 00:00 0 [stack] Aborted Verifying the error in conversion ================================= If the crash cannot be verified, the error in conversion can be verified as below. For the command, ld -T input_file a.out, the expected output is $ ld -T input_file a.out ./ld:/tmp/input_file:1: ignoring invalid character `\177' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\002' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\003' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\200' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\211' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\004' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\010' in expression ./ld:/tmp/input_file:1: syntax error but actual output is, $ ld -T input_file a.out ./ld:/tmp/input_file:1: ignoring invalid character `\177' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\002' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\003' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\001' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\000' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\37777777600' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\37777777611' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\004' in expression ./ld:/tmp/input_file:1: ignoring invalid character `\010' in expression ./ld:/tmp/input_file:1: syntax error Here is the stack trace ======================= #0 0x0012d422 in __kernel_vsyscall () #1 0x0015c651 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0x0015fa82 in *__GI_abort () at abort.c:92 #3 0x0019349d in __libc_message (do_abort=2, fmt=0x2660b5 "*** %s ***: %s terminated\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:189 #4 0x00214390 in *__GI___fortify_fail (msg=<value optimized out>) at fortify_fail.c:32 #5 0x002132ca in *__GI___chk_fail () at chk_fail.c:29 #6 0x00212a08 in _IO_str_chk_overflow (fp=0xbfffdee0, c=55) at vsprintf_chk.c:35 #7 0x0019bafe in _IO_default_xsputn (f=0xbfffdee0, data=0xbfffde05, n=11) at genops.c:485 #8 0x0016fa34 in _IO_vfprintf_internal (s=0xbfffdee0, format=0x80e366d "\\%03o", ap=0xbfffdfc0 "\200\377\377\377/ $") at vfprintf.c:1613 #9 0x00212abd in ___vsprintf_chk (s=0xbfffdfdb "\\377", flags=1, slen=5, format=0x80e366d "\\%03o", args=0xbfffdfc0 "\200\377\377\377/ $") at vsprintf_chk.c:86 #10 0x002129fd in ___sprintf_chk (s=0xbfffdfdb "\\377", flags=1, slen=5, format=0x80e366d "\\%03o") at sprintf_chk.c:33 #11 0x0804d601 in sprintf (where=0x80e369c " in expression", what=<value optimized out>) at /usr/include/bits/stdio2.h:34 #12 lex_warn_invalid (where=0x80e369c " in expression", what=<value optimized out>) at ldlex.l:689 #13 0x0804e3b2 in yylex () at ldlex.l:463 #14 0x0804a5bb in yyparse () at ldgram.c:2473 #15 0x080500e6 in parse_args (argc=4, argv=0xbffff0e4) at lexsup.c:1244 #16 0x0805e302 in main (argc=4, argv=0xbffff0e4) at ./ldmain.c:295 Details of system on which bug was verified on: =============================================== Linux kernel: 2.6.32-30-generic OS Distribution: Ubuntu-10.04 Processor type: i686 gcc: version 4.4.3
CVSROOT: /cvs/src Module name: src Changes by: amodra@sourceware.org 2011-03-29 02:52:36 Modified files: ld : ChangeLog ldlex.l Log message: PR ld/12613 * ldlex.l (lex_warn_invalid): Don't assume char is unsigned. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ChangeLog.diff?cvsroot=src&r1=1.2302&r2=1.2303 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ldlex.l.diff?cvsroot=src&r1=1.51&r2=1.52
fixed.
CVSROOT: /cvs/src Module name: src Branch: binutils-2_21-branch Changes by: amodra@sourceware.org 2011-05-29 04:51:53 Modified files: bfd : ChangeLog aoutx.h archive.c bfd-in2.h bfdio.c coff-aux.c coffcode.h coffgen.c cofflink.c config.in configure configure.in dwarf2.c elf-bfd.h elf-m10300.c elf.c elf32-ppc.c elf32-rx.c elf64-ppc.c elflink.c elfxx-ia64.c libbfd.c linker.c peXXigen.c vms-alpha.c bfd/hosts : x86-64linux.h binutils : ChangeLog nm.c objcopy.c binutils/doc : binutils.texi binutils/testsuite: ChangeLog binutils/testsuite/binutils-all: nm.exp binutils/testsuite/lib: utils-lib.exp gas : ChangeLog dwarf2dbg.c input-scrub.c messages.c read.c gas/config : obj-elf.h tc-arc.c tc-d10v.h tc-d30v.h tc-m32r.h gas/testsuite : ChangeLog gas/testsuite/gas/i386: inval-equ-2.l gas/testsuite/gas/symver: symver2.l include : ChangeLog ansidecl.h bfdlink.h ld : ChangeLog ldexp.c ldlang.c ldlex.l ldmain.c plugin.c ld/emultempl : elf32.em pe.em pep.em ld/scripttempl : pe.sc pep.sc ld/testsuite : ChangeLog ld/testsuite/ld-cris: tls-e-tpoffcomm1.d ld/testsuite/ld-plugin: plugin-7.d plugin-8.d Log message: PR 12365 PR 12613 PR 12632 PR 12739 PR 12753 PR 12760 PR 12763 Apply fix from mainline along with assorted other small fixes. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.5180.2.34&r2=1.5180.2.35 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/aoutx.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.84.2.1&r2=1.84.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/archive.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.69.2.3&r2=1.69.2.4 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/bfd-in2.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.522.2.2&r2=1.522.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/bfdio.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.27&r2=1.27.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/coff-aux.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.10.10.1&r2=1.10.10.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/coffcode.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.171&r2=1.171.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/coffgen.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.78&r2=1.78.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/cofflink.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.74.2.1&r2=1.74.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/config.in.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.48&r2=1.48.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/configure.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.339.2.4&r2=1.339.2.5 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/configure.in.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.287.2.4&r2=1.287.2.5 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/dwarf2.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.138&r2=1.138.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf-bfd.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.313.2.2&r2=1.313.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf-m10300.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.106&r2=1.106.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.524.2.2&r2=1.524.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-ppc.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.290.2.3&r2=1.290.2.4 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-rx.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.5.2.1&r2=1.5.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf64-ppc.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.339.2.10&r2=1.339.2.11 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elflink.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.388.2.2&r2=1.388.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elfxx-ia64.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.228.2.1&r2=1.228.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/libbfd.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.53.2.1&r2=1.53.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/linker.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.77.2.2&r2=1.77.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/peXXigen.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.67&r2=1.67.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/vms-alpha.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.37.2.1&r2=1.37.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/hosts/x86-64linux.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.2&r2=1.2.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1708.2.9&r2=1.1708.2.10 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/nm.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.65&r2=1.65.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/objcopy.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.147.2.1&r2=1.147.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/doc/binutils.texi.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.173.2.1&r2=1.173.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/testsuite/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.216.2.2&r2=1.216.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/testsuite/binutils-all/nm.exp.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.5&r2=1.5.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/testsuite/lib/utils-lib.exp.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.20.2.1&r2=1.20.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.4320.2.29&r2=1.4320.2.30 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/dwarf2dbg.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.107&r2=1.107.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/input-scrub.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.23&r2=1.23.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/messages.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.23&r2=1.23.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/read.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.167.2.2&r2=1.167.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/obj-elf.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.38&r2=1.38.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-arc.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.47&r2=1.47.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-d10v.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.20&r2=1.20.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-d30v.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.15&r2=1.15.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-m32r.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.23&r2=1.23.4.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1802.2.11&r2=1.1802.2.12 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/inval-equ-2.l.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1&r2=1.1.12.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/symver/symver2.l.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1&r2=1.1.38.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.510.2.2&r2=1.510.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/ansidecl.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.28&r2=1.28.6.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/bfdlink.h.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.82.2.1&r2=1.82.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.2222.2.23&r2=1.2222.2.24 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ldexp.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.87.2.2&r2=1.87.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ldlang.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.347.2.5&r2=1.347.2.6 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ldlex.l.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.47.2.2&r2=1.47.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/ldmain.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.145.2.3&r2=1.145.2.4 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/plugin.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.7.2.5&r2=1.7.2.6 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/emultempl/elf32.em.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.214.2.1&r2=1.214.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/emultempl/pe.em.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.162.2.2&r2=1.162.2.3 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/emultempl/pep.em.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.38.2.1&r2=1.38.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/scripttempl/pe.sc.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.24&r2=1.24.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/scripttempl/pep.sc.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.13&r2=1.13.2.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1322.2.12&r2=1.1322.2.13 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1&r2=1.1.6.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-plugin/plugin-7.d.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1.2.1&r2=1.1.2.2 http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-plugin/plugin-8.d.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.1.2.1&r2=1.1.2.2
*** Bug 260998 has been marked as a duplicate of this bug. *** Seen from the domain http://volichat.com Page where seen: http://volichat.com/adult-chat-rooms Marked for reference. Resolved as fixed @bugzilla.