svn commit: r249734 - stable/9/sys/kern
Mikolaj Golub
trociny at FreeBSD.org
Sun Apr 21 17:14:51 UTC 2013
Author: trociny
Date: Sun Apr 21 17:14:50 2013
New Revision: 249734
URL: http://svnweb.freebsd.org/changeset/base/249734
Log:
MFC r249238, r249239:
r249238:
Use 4-byte padding for core dump notes on both 32 and 64bit archs.
Although native word padding (i.e. 8-byte on 64bit arch) looks to be
in agreement with standards, other parts of our code and other OSes
use 4-byte alignment.
This is not expected to change alignment for currently generated core
dump notes, as the notes look to consist of structures with sizes
multiple of 8 on 64-bit archs. But there are plans to add additional
notes, where 4-byte vs 8-byte alignment makes difference.
Discussed with: kib
Reviewed by: kib
r249239:
Fill p_flags and p_align fields of the core dump note segement.
Reviewed by: kib
Modified:
stable/9/sys/kern/imgact_elf.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/kern/imgact_elf.c
==============================================================================
--- stable/9/sys/kern/imgact_elf.c Sun Apr 21 17:13:58 2013 (r249733)
+++ stable/9/sys/kern/imgact_elf.c Sun Apr 21 17:14:50 2013 (r249734)
@@ -1515,8 +1515,8 @@ __elfN(puthdr)(struct thread *td, void *
phdr->p_paddr = 0;
phdr->p_filesz = notesz;
phdr->p_memsz = 0;
- phdr->p_flags = 0;
- phdr->p_align = 0;
+ phdr->p_flags = PF_R;
+ phdr->p_align = sizeof(Elf32_Size);
phdr++;
/* All the writable segments from the program. */
@@ -1540,10 +1540,10 @@ __elfN(putnote)(void *dst, size_t *off,
*off += sizeof note;
if (dst != NULL)
bcopy(name, (char *)dst + *off, note.n_namesz);
- *off += roundup2(note.n_namesz, sizeof(Elf_Size));
+ *off += roundup2(note.n_namesz, sizeof(Elf32_Size));
if (dst != NULL)
bcopy(desc, (char *)dst + *off, note.n_descsz);
- *off += roundup2(note.n_descsz, sizeof(Elf_Size));
+ *off += roundup2(note.n_descsz, sizeof(Elf32_Size));
}
static boolean_t
More information about the svn-src-stable-9
mailing list