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 mailing list