[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/13288] New: gold silently accepts truncated ELF input
From: |
zub at linux dot fjfi.cvut.cz |
Subject: |
[Bug gold/13288] New: gold silently accepts truncated ELF input |
Date: |
Wed, 12 Oct 2011 21:47:56 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=13288
Bug #: 13288
Summary: gold silently accepts truncated ELF input
Product: binutils
Version: 2.23 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
AssignedTo: address@hidden
ReportedBy: address@hidden
CC: address@hidden
Classification: Unclassified
Created attachment 5980
--> http://sourceware.org/bugzilla/attachment.cgi?id=5980
Truncated object that ld.gold silently accepts.
gold silently accepts truncated input file (tested with ELF64 on amd64).
Example of how to reproduce:
# compile trivial source file
$ echo "int foo(void) { return 42; }" > foo.c
$ gcc -c foo.c
# create a truncated version of the object
# just cutting off one byte creates a broken file,
# but gold seems to accept even worse corruption
$ stat foo.o | grep Size
Size: 1216 Blocks: 8 IO Block: 4096 regular file
$ dd if=foo.o of=foo-truncated.o bs=1215 count=1
1+0 records in
1+0 records out
1215 bytes (1.2 kB) copied, 0.000272381 s, 4.5 MB/s
# verify that the file is indeed corrupted
$ readelf -a foo-truncated.o > /dev/null
readelf: Error: Unable to read in 0x18 bytes of relocs
$ objdump -r foo-truncated.o
foo-truncated.o: file format elf64-x86-64
RELOCATION RECORDS FOR [.eh_frame]:objdump: foo-truncated.o: File truncated
# now ask gold to relink it:
$ ld.gold -r foo-truncated.o -o relinked.o
$
# by the way ld.bfd correctly rejects the file:
$ ld.bfd -r foo-truncated.o -o relinked.o
foo-truncated.o: could not read symbols: File truncated
This can cause difficult-to-track-down issues if an object in larger project is
corrupted.
(Attaching the exact file I used to reproduce this issue, as the object is
compiler dependent and you could possibly get different results with different
object.)
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
- [Bug gold/13288] New: gold silently accepts truncated ELF input,
zub at linux dot fjfi.cvut.cz <=
- [Bug gold/13288] gold silently accepts truncated ELF input, zub at linux dot fjfi.cvut.cz, 2011/10/12
- [Bug gold/13288] gold silently accepts truncated ELF input, ccoutant at google dot com, 2011/10/12
- [Bug gold/13288] gold silently accepts truncated ELF input, ccoutant at google dot com, 2011/10/12
- [Bug gold/13288] gold silently accepts truncated ELF input, ccoutant at google dot com, 2011/10/13
- [Bug gold/13288] gold silently accepts truncated ELF input, cvs-commit at gcc dot gnu.org, 2011/10/17
- [Bug gold/13288] gold silently accepts truncated ELF input, ccoutant at google dot com, 2011/10/17