[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/16127] New: NOLOAD section data contents inclusion in output fil
From: |
elbartoglm4 at gmail dot com |
Subject: |
[Bug ld/16127] New: NOLOAD section data contents inclusion in output file |
Date: |
Wed, 06 Nov 2013 15:17:36 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=16127
Bug ID: 16127
Summary: NOLOAD section data contents inclusion in output file
Product: binutils
Version: 2.18
Status: NEW
Severity: critical
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: elbartoglm4 at gmail dot com
Hi,
I am reporting something I consider incorrect in LD v2.18 regarding the
documentation about the "NOLOAD" section attribute. I tested this on LD v2.17
but I didn't notice the problem I found with v2.18.
In the linker command file, I define (among other sections) an output section
in which I put uninitialized data input sections and one initialized data input
section at the end. For information, the initialized data input section
contains only zeros, and its size is 0x720.
I define this output section as "NOLOAD" because I only want this memory
allocated and the symbols mapped in the memory region I specify, but I don't
want the contents of any of the input sections to be loaded in the output file
(.elf in my case).
But in my output file, I can find the zeros of the initialized data input
section in an other section where resides code: a hole of zeros with a size of
0x720 is present in the middle of it.
I checked the addresses and the ELF sections offsets and my assumptions seem
correct:
in the ELF file section headers dump, I can see the ELF sections offsets:
.NOLOAD_SECTION: ELF_offset = 0x0000F3C0
.CODE_SECTION; ELF_offset = 0x00010000
In the ELF file, the zeros are found at 0x00011640, which is an offset of
0x2280 from the NOLOAD_SECTION ELF_Offset. This offset corresponds to the
offset between the Virtual Memory Address (VMA) of the NOLOAD_SECTION beginning
(0x0180f3c0) and the first initialized data input section symbol VMA
(0x01811640).
To summarize: I assume LD puts the contents of the input sections (data or
code) in the output file even if the output section is set to NOLOAD (and we
see it only ALLOCATABLE when we dump the ELF file).
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/16127] New: NOLOAD section data contents inclusion in output file,
elbartoglm4 at gmail dot com <=