mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-10 14:59:31 +08:00
bfd/
2007-08-02 H.J. Lu <hongjiu.lu@intel.com> * coffcode.h (ALIGN_SET): Removed. (ELIFALIGN_SET): Likewise. (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES, IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES, IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES, IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES. include/coff/ 2007-08-02 H.J. Lu <hongjiu.lu@intel.com> * pe.h (IMAGE_SCN_ALIGN_POWER_BIT_POS): New. (IMAGE_SCN_ALIGN_POWER_BIT_MASK): Likewise. (IMAGE_SCN_ALIGN_POWER_NUM): Likewise. (IMAGE_SCN_ALIGN_POWER_CONST): Likewise. (IMAGE_SCN_ALIGN_128BYTES): Likewise. (IMAGE_SCN_ALIGN_256BYTES): Likewise. (IMAGE_SCN_ALIGN_512BYTES): Likewise. (IMAGE_SCN_ALIGN_1024BYTES): Likewise. (IMAGE_SCN_ALIGN_2048BYTES): Likewise. (IMAGE_SCN_ALIGN_4096BYTES): Likewise. (IMAGE_SCN_ALIGN_8192BYTES): Likewise. (IMAGE_SCN_ALIGN_1BYTES): Redefined with IMAGE_SCN_ALIGN_POWER_CONST. (IMAGE_SCN_ALIGN_2BYTES): Likewise. (IMAGE_SCN_ALIGN_4BYTES): Likewise. (IMAGE_SCN_ALIGN_8BYTES): Likewise. (IMAGE_SCN_ALIGN_16BYTES): Likewise. (IMAGE_SCN_ALIGN_32BYTES): Likewise. (IMAGE_SCN_ALIGN_64BYTES): Likewise.
This commit is contained in:
@ -1,3 +1,12 @@
|
|||||||
|
2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* coffcode.h (ALIGN_SET): Removed.
|
||||||
|
(ELIFALIGN_SET): Likewise.
|
||||||
|
(coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
|
||||||
|
IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
|
||||||
|
IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
|
||||||
|
IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
|
||||||
|
|
||||||
2007-08-01 Michael Snyder <msnyder@access-company.com>
|
2007-08-01 Michael Snyder <msnyder@access-company.com>
|
||||||
|
|
||||||
* vms-tir.c (new_section): Fix cut and paste error.
|
* vms-tir.c (new_section): Fix cut and paste error.
|
||||||
|
@ -1628,19 +1628,6 @@ coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
|
|||||||
#else /* ! COFF_ALIGN_IN_SECTION_HEADER */
|
#else /* ! COFF_ALIGN_IN_SECTION_HEADER */
|
||||||
#ifdef COFF_WITH_PE
|
#ifdef COFF_WITH_PE
|
||||||
|
|
||||||
/* A couple of macros to help setting the alignment power field. */
|
|
||||||
#define ALIGN_SET(field, x, y) \
|
|
||||||
if (((field) & IMAGE_SCN_ALIGN_64BYTES) == x)\
|
|
||||||
{\
|
|
||||||
section->alignment_power = y;\
|
|
||||||
}
|
|
||||||
|
|
||||||
#define ELIFALIGN_SET(field, x, y) \
|
|
||||||
else if (((field) & IMAGE_SCN_ALIGN_64BYTES) == x) \
|
|
||||||
{\
|
|
||||||
section->alignment_power = y;\
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
|
coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
|
||||||
asection * section,
|
asection * section,
|
||||||
@ -1648,14 +1635,31 @@ coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
|
|||||||
{
|
{
|
||||||
struct internal_scnhdr *hdr = (struct internal_scnhdr *) scnhdr;
|
struct internal_scnhdr *hdr = (struct internal_scnhdr *) scnhdr;
|
||||||
bfd_size_type amt;
|
bfd_size_type amt;
|
||||||
|
unsigned int alignment_power_const
|
||||||
|
= hdr->s_flags & IMAGE_SCN_ALIGN_POWER_BIT_MASK;
|
||||||
|
|
||||||
ALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_64BYTES, 6)
|
switch (alignment_power_const)
|
||||||
ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_32BYTES, 5)
|
{
|
||||||
ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_16BYTES, 4)
|
case IMAGE_SCN_ALIGN_8192BYTES:
|
||||||
ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_8BYTES, 3)
|
case IMAGE_SCN_ALIGN_4096BYTES:
|
||||||
ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_4BYTES, 2)
|
case IMAGE_SCN_ALIGN_2048BYTES:
|
||||||
ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_2BYTES, 1)
|
case IMAGE_SCN_ALIGN_1024BYTES:
|
||||||
ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_1BYTES, 0)
|
case IMAGE_SCN_ALIGN_512BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_256BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_128BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_64BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_32BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_16BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_8BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_4BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_2BYTES:
|
||||||
|
case IMAGE_SCN_ALIGN_1BYTES:
|
||||||
|
section->alignment_power
|
||||||
|
= IMAGE_SCN_ALIGN_POWER_NUM (alignment_power_const);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* In a PE image file, the s_paddr field holds the virtual size of a
|
/* In a PE image file, the s_paddr field holds the virtual size of a
|
||||||
section, while the s_size field holds the raw size. We also keep
|
section, while the s_size field holds the raw size. We also keep
|
||||||
|
@ -1,3 +1,25 @@
|
|||||||
|
2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* pe.h (IMAGE_SCN_ALIGN_POWER_BIT_POS): New.
|
||||||
|
(IMAGE_SCN_ALIGN_POWER_BIT_MASK): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_POWER_NUM): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_POWER_CONST): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_128BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_256BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_512BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_1024BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_2048BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_4096BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_8192BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_1BYTES): Redefined with
|
||||||
|
IMAGE_SCN_ALIGN_POWER_CONST.
|
||||||
|
(IMAGE_SCN_ALIGN_2BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_4BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_8BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_16BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_32BYTES): Likewise.
|
||||||
|
(IMAGE_SCN_ALIGN_64BYTES): Likewise.
|
||||||
|
|
||||||
2007-07-12 Kai Tietz <kai.tietz@onevision.com>
|
2007-07-12 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
* internal.h (struct internal_syment): Use bfd_hostptr_t for
|
* internal.h (struct internal_syment): Use bfd_hostptr_t for
|
||||||
|
@ -66,13 +66,29 @@
|
|||||||
#define IMAGE_SCN_MEM_LOCKED 0x00040000
|
#define IMAGE_SCN_MEM_LOCKED 0x00040000
|
||||||
#define IMAGE_SCN_MEM_PRELOAD 0x00080000
|
#define IMAGE_SCN_MEM_PRELOAD 0x00080000
|
||||||
|
|
||||||
#define IMAGE_SCN_ALIGN_1BYTES 0x00100000
|
/* Bit position in the s_flags field where the alignment values start. */
|
||||||
#define IMAGE_SCN_ALIGN_2BYTES 0x00200000
|
#define IMAGE_SCN_ALIGN_POWER_BIT_POS 20
|
||||||
#define IMAGE_SCN_ALIGN_4BYTES 0x00300000
|
#define IMAGE_SCN_ALIGN_POWER_BIT_MASK 0x00f00000
|
||||||
#define IMAGE_SCN_ALIGN_8BYTES 0x00400000
|
#define IMAGE_SCN_ALIGN_POWER_NUM(val) \
|
||||||
#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 /* Default alignment if no others are specified. */
|
(((val) >> IMAGE_SCN_ALIGN_POWER_BIT_POS) - 1)
|
||||||
#define IMAGE_SCN_ALIGN_32BYTES 0x00600000
|
#define IMAGE_SCN_ALIGN_POWER_CONST(val) \
|
||||||
#define IMAGE_SCN_ALIGN_64BYTES 0x00700000
|
(((val) + 1) << IMAGE_SCN_ALIGN_POWER_BIT_POS)
|
||||||
|
|
||||||
|
#define IMAGE_SCN_ALIGN_1BYTES IMAGE_SCN_ALIGN_POWER_CONST (0)
|
||||||
|
#define IMAGE_SCN_ALIGN_2BYTES IMAGE_SCN_ALIGN_POWER_CONST (1)
|
||||||
|
#define IMAGE_SCN_ALIGN_4BYTES IMAGE_SCN_ALIGN_POWER_CONST (2)
|
||||||
|
#define IMAGE_SCN_ALIGN_8BYTES IMAGE_SCN_ALIGN_POWER_CONST (3)
|
||||||
|
/* Default alignment if no others are specified. */
|
||||||
|
#define IMAGE_SCN_ALIGN_16BYTES IMAGE_SCN_ALIGN_POWER_CONST (4)
|
||||||
|
#define IMAGE_SCN_ALIGN_32BYTES IMAGE_SCN_ALIGN_POWER_CONST (5)
|
||||||
|
#define IMAGE_SCN_ALIGN_64BYTES IMAGE_SCN_ALIGN_POWER_CONST (6)
|
||||||
|
#define IMAGE_SCN_ALIGN_128BYTES IMAGE_SCN_ALIGN_POWER_CONST (7)
|
||||||
|
#define IMAGE_SCN_ALIGN_256BYTES IMAGE_SCN_ALIGN_POWER_CONST (8)
|
||||||
|
#define IMAGE_SCN_ALIGN_512BYTES IMAGE_SCN_ALIGN_POWER_CONST (9)
|
||||||
|
#define IMAGE_SCN_ALIGN_1024BYTES IMAGE_SCN_ALIGN_POWER_CONST (10)
|
||||||
|
#define IMAGE_SCN_ALIGN_2048BYTES IMAGE_SCN_ALIGN_POWER_CONST (11)
|
||||||
|
#define IMAGE_SCN_ALIGN_4096BYTES IMAGE_SCN_ALIGN_POWER_CONST (12)
|
||||||
|
#define IMAGE_SCN_ALIGN_8192BYTES IMAGE_SCN_ALIGN_POWER_CONST (13)
|
||||||
|
|
||||||
#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000 /* Section contains extended relocations. */
|
#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000 /* Section contains extended relocations. */
|
||||||
#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 /* Section is not cachable. */
|
#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 /* Section is not cachable. */
|
||||||
|
Reference in New Issue
Block a user