Section Anchor Optimisations

Personnel

Delivery Date

Benefits

Dependencies

Modifications Required

Data Structures

struct section {
  /* The name of the section.  */
  const char *name;

  /* The set of SECTION_* flags that apply to this section.  */
  unsigned int flags;

  /* The minimum alignment of the first byte in the section,
     measured in bits.  */
  HOST_WIDE_INT alignment;

  /* The objects contained in this section, sorted by offset from the
     start of the section.  */
  VEC(section_object) *objects;

  /* The anchors associated with this section, sorted by offset from
     the start of the section.  */
  VEC(section_object) *anchors;
};
typedef struct section section;

struct section_object {
  /* The section that contains this object.  */
  section *section;

  /* The offset of this object from the start of the section.  */
  HOST_WIDE_INT offset;

  /* The object's SYMBOL_REF.  */
  struct rtx_def symbol;
}

Altered Target Hooks

Removed Target Hooks

/* ??? Should be merged with SELECT_SECTION and UNIQUE_SECTION.  */

New Variables

Removed Functions

New Target Hooks

New Functions

Other Changes

Implementation Notes

int x;
int f (void) { return x; }
int x __attribute__ ((section (".foo")));

Order Of Implementation

None: Section_Anchor_Optimisations (last edited 2008-01-10 19:38:52 by localhost)