freebsd-nq/libexec
Konstantin Belousov 69ca61ba5e Only perform .bss mapping and cleaning operations when segment file size
is not equal to its memory size.

This eliminates unneeded clearing of the text segment that often
happens due to text end not being page-aligned.

For instance,
$ readelf -l /lib/libedit.so.6
Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00000000 0x00000000 0x139e1 0x139e1 R E 0x1000
  LOAD           0x014000 0x00014000 0x00014000 0x00f04 0x00f14 RW  0x1000
  DYNAMIC        0x014cc4 0x00014cc4 0x00014cc4 0x000d0 0x000d0 RW  0x4
$ procstat -v $$ (for /bin/sh)
68585 0x28097000 0x280aa000 r-x    6    0  21  14 CN vn /lib/libedit.so.6
68585 0x280aa000 0x280ab000 r-x    1    0   1   0 CN vn /lib/libedit.so.6 <==
68585 0x280ab000 0x280ac000 rwx    1    0   1   0 CN vn /lib/libedit.so.6
Note the splitted map entry marked by '<=='.

Reviewed by:	kan
Approved by:	re (kensmith)
MFC after:	1 month
2009-07-17 19:32:04 +00:00
..
atrun Fixed static linkage (build with -DNO_SHARED). 2007-10-01 18:17:24 +00:00
bootpd Use RTF_LLDATA. 2009-03-31 23:02:51 +00:00
comsat Fix handling of pts(4) device names in comsat(8). Also catch fork() errors. 2009-01-17 15:56:38 +00:00
fingerd Mark functions as __dead2 in order to help the LLVM static checker 2008-08-04 01:25:48 +00:00
ftpd Move variable externs into extern.h so they are checked against the definitions. 2009-04-07 20:34:34 +00:00
getty Stop mentioning /usr/X11R6. 2007-07-24 06:41:07 +00:00
lukemftpd Not needed any more, vendor sources have PAM support. 2006-08-31 17:12:33 +00:00
mail.local
mknetid
pppoed Significantly reduce the memory leak as noted in BUGS section for 2007-07-04 00:00:41 +00:00
rbootd
revnetgroup
rlogind Cook CFLAGS by the modern recipe: 2006-07-27 12:05:05 +00:00
rpc.rquotad Whitespace and style fixes, build at WARNS level 6. 2008-11-04 14:17:49 +00:00
rpc.rstatd Use sysctl to fetch stats from the kernel instead of reading variables 2008-06-10 18:47:43 +00:00
rpc.rusersd
rpc.rwalld
rpc.sprayd
rshd
rtld-aout
rtld-elf Only perform .bss mapping and cleaning operations when segment file size 2009-07-17 19:32:04 +00:00
save-entropy 1. Attempt to take one bullet out of the foot-shooting gun by silently 2006-08-28 06:41:50 +00:00
smrsh
talkd Fix some "in in" typos in comments. 2008-03-26 07:32:08 +00:00
tcpd Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00
telnetd Convert telnetd(8) to use posix_openpt(2). 2008-11-13 19:05:27 +00:00
tftp-proxy Link pf 4.1 to the build: 2007-07-03 12:46:08 +00:00
tftpd Add "with" to make the line go smoother. 2007-11-23 01:52:44 +00:00
ypxfr
Makefile Per the man page: 2009-05-26 00:07:02 +00:00
Makefile.inc