This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Problem setting the CONTENTS flag
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Andrew STUBBS <andrew dot stubbs at st dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 21 Apr 2006 07:35:58 -0700
- Subject: Re: Problem setting the CONTENTS flag
- References: <4448D6E0.2090907@st.com>
On Fri, Apr 21, 2006 at 01:58:08PM +0100, Andrew STUBBS wrote:
> Hi all,
>
> I have encountered an error setting the CONTENTS and LOAD flags with
> relatively recent versions of objcopy/bfd.
>
Could you please open a bug report with a simple testcase? This patch
should work.
Thanks.
H.J.
----
2006-04-21 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
and flags if its BFD flags has been set.
--- bfd/elf.c.copy 2006-04-21 07:00:02.000000000 -0700
+++ bfd/elf.c 2006-04-21 07:32:26.000000000 -0700
@@ -2487,10 +2487,11 @@ _bfd_elf_new_section_hook (bfd *abfd, as
bed = get_elf_backend_data (abfd);
sec->use_rela_p = bed->default_use_rela_p;
- /* When we read a file, we don't need section type and flags unless
- it is a linker created section. They will be overridden in
- _bfd_elf_make_section_from_shdr anyway. */
- if (abfd->direction != read_direction
+ /* When we read a file or section BFD flags has been set, we don't
+ need section type and flags unless it is a linker created section.
+ They will be overridden in _bfd_elf_make_section_from_shdr
+ anyway. */
+ if ((!sec->flags && abfd->direction != read_direction)
|| (sec->flags & SEC_LINKER_CREATED) != 0)
{
ssect = (*bed->get_sec_type_attr) (abfd, sec);