bfd/
2006-02-10 H.J. Lu <hongjiu.lu@intel.com> PR binutils/2258 * elf.c (copy_private_bfd_data): Renamed to ... (rewrite_elf_program_header): This. (copy_elf_program_header): New function. (copy_private_bfd_data): Likewise. binutils/ 2006-02-10 H.J. Lu <hongjiu.lu@intel.com> PR binutils/2258 * readelf.c (process_program_headers): Use ELF_IS_SECTION_IN_SEGMENT_MEMORY. include/elf/ 2006-02-10 H.J. Lu <hongjiu.lu@intel.com> PR binutils/2258 * internal.h (ELF_IS_SECTION_IN_SEGMENT_FILE): New. (ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise.
This commit is contained in:
parent
30f1c8a675
commit
2bf61bfe9b
@ -1,3 +1,9 @@
|
||||
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR binutils/2258
|
||||
* internal.h (ELF_IS_SECTION_IN_SEGMENT_FILE): New.
|
||||
(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise.
|
||||
|
||||
2006-02-07 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ...
|
||||
|
@ -251,4 +251,29 @@ struct elf_segment_map
|
||||
asection *sections[1];
|
||||
};
|
||||
|
||||
/* Decide if the given sec_hdr is in the given segment in file. */
|
||||
#define ELF_IS_SECTION_IN_SEGMENT_FILE(sec_hdr, segment) \
|
||||
(sec_hdr->sh_size > 0 \
|
||||
/* PT_TLS segment contains only SHF_TLS sections. */ \
|
||||
&& (segment->p_type != PT_TLS \
|
||||
|| (sec_hdr->sh_flags & SHF_TLS) != 0) \
|
||||
/* Compare allocated sec_hdrs by VMA, unallocated sec_hdrs \
|
||||
by file offset. */ \
|
||||
&& (sec_hdr->sh_flags & SHF_ALLOC \
|
||||
? (sec_hdr->sh_addr >= segment->p_vaddr \
|
||||
&& sec_hdr->sh_addr + sec_hdr->sh_size \
|
||||
<= segment->p_vaddr + segment->p_memsz) \
|
||||
: ((bfd_vma) sec_hdr->sh_offset >= segment->p_offset \
|
||||
&& (sec_hdr->sh_offset + sec_hdr->sh_size \
|
||||
<= segment->p_offset + segment->p_filesz))))
|
||||
|
||||
/* Decide if the given sec_hdr is in the given segment in memory. */
|
||||
#define ELF_IS_SECTION_IN_SEGMENT_MEMORY(sec_hdr, segment) \
|
||||
(ELF_IS_SECTION_IN_SEGMENT_FILE (sec_hdr, segment) \
|
||||
/* .tbss is special. It doesn't contribute memory space to \
|
||||
normal segments. */ \
|
||||
&& (!((sec_hdr->sh_flags & SHF_TLS) != 0 \
|
||||
&& sec_hdr->sh_type == SHT_NOBITS) \
|
||||
|| segment->p_type == PT_TLS))
|
||||
|
||||
#endif /* _ELF_INTERNAL_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user