Page MenuHomeFreeBSD

D13926.id38014.diff
No OneTemporary

D13926.id38014.diff

Index: stand/common/load_elf_obj.c
===================================================================
--- stand/common/load_elf_obj.c
+++ stand/common/load_elf_obj.c
@@ -224,6 +224,8 @@
#if defined(__i386__) || defined(__amd64__)
case SHT_X86_64_UNWIND:
#endif
+ if ((shdr[i].sh_flags & SHF_ALLOC) == 0)
+ break;
lastaddr = roundup(lastaddr, shdr[i].sh_addralign);
shdr[i].sh_addr = (Elf_Addr)lastaddr;
lastaddr += shdr[i].sh_size;
Index: sys/kern/link_elf_obj.c
===================================================================
--- sys/kern/link_elf_obj.c
+++ sys/kern/link_elf_obj.c
@@ -605,6 +605,8 @@
#ifdef __amd64__
case SHT_X86_64_UNWIND:
#endif
+ if ((shdr[i].sh_flags & SHF_ALLOC) == 0)
+ break;
ef->nprogtab++;
break;
case SHT_SYMTAB:
@@ -720,6 +722,8 @@
#ifdef __amd64__
case SHT_X86_64_UNWIND:
#endif
+ if ((shdr[i].sh_flags & SHF_ALLOC) == 0)
+ break;
alignmask = shdr[i].sh_addralign - 1;
mapsize += alignmask;
mapsize &= ~alignmask;
@@ -790,6 +794,8 @@
#ifdef __amd64__
case SHT_X86_64_UNWIND:
#endif
+ if ((shdr[i].sh_flags & SHF_ALLOC) == 0)
+ break;
alignmask = shdr[i].sh_addralign - 1;
mapbase += alignmask;
mapbase &= ~alignmask;

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 8, 10:54 AM (9 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31095822
Default Alt Text
D13926.id38014.diff (1 KB)

Event Timeline