Revert "elf: Properly compute offsets of note descriptor and next note"

This reverts commit 650444eb540f9fd85e821567a3f943b4bc41b8be.

With this patch, running the GDB test case gdb.base/auxv.exp is stuck in
an infinite loop, consuming memory to the point that it renders the
machine unusable. I am reverting it so we can take our time to
investigate while not killing all the developers' machines.
This commit is contained in:
Simon Marchi
2017-11-24 15:41:23 -05:00
parent 0fbc35681f
commit 4e25ac038e
6 changed files with 12 additions and 65 deletions

View File

@ -183,22 +183,6 @@ typedef struct {
char name[1]; /* Start of the name+desc data */
} Elf_External_Note;
/* Align an address upward to a boundary, expressed as a number of bytes.
E.g. align to an 8-byte boundary with argument of 8. */
#define ELF_ALIGN_UP(addr, boundary) \
(((bfd_vma) (addr) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary) -1))
/* Compute the offset of the note descriptor from size of note entry's
owner string and note alignment. */
#define ELF_NOTE_DESC_OFFSET(namesz, align) \
ELF_ALIGN_UP (offsetof (Elf_External_Note, name) + (namesz), (align))
/* Compute the offset of the next note entry from size of note entry's
owner string, size of the note descriptor and note alignment. */
#define ELF_NOTE_NEXT_OFFSET(namesz, descsz, align) \
ELF_ALIGN_UP (ELF_NOTE_DESC_OFFSET ((namesz), (align)) + (descsz), \
(align))
/* Relocation Entries */
typedef struct {
unsigned char r_offset[4]; /* Location at which to apply the action */