Commit Graph

101 Commits

Author SHA1 Message Date
Michael Kerrisk 08e6d52431 elf.5: A few tweaks to Mike Frysinger's text (Mike to check)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-27 11:59:17 +01:00
Michael Kerrisk d00f97b555 elf.5: Minor fixes to Mike Frysinger's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-27 11:59:17 +01:00
Mike Frysinger 9c72e3cad8 elf(5): document notes
Document the Elf{32,64}_Nhdr structure, the sections/segments that
contain notes, and how to interpret them.  I've been lazy and only
included the GNU extensions here, especially as others are not
defined in the elf.h header file as shipped by glibc.

I've mostly used binutils, glibc, breakpad, and the GABI ELF spec
as sources of data for these fields.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-27 11:15:37 +01:00
Michael Kerrisk 215f434628 elf.5: Minor tweaks to Mike Frysinger's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-17 16:41:36 +01:00
Mike Frysinger 98ec6ed789 elf(5): Add subsection headers at major points
The current pages dumps all the content into one big DESCRIPTION
with no real visual break up between logically independent
sections.  Add some subsection headers to make it easier to
read and scan.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2016-11-17 16:38:37 +01:00
Michael Kerrisk 54c7242d7d elf.5: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-11 09:23:22 +01:00
Michael Kerrisk f64cc74595 killpg.2, crypt.3, mbsinit.3, printf.3, rpc.3, ulimit.3, wprintf.3, xdr.3, fd.4, elf.5, group.5: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-10-12 16:03:38 +02:00
Michael Kerrisk 3df541c0e6 ldd.1, localedef.1, add_key.2, chroot.2, clone.2, fork.2, futex.2, get_mempolicy.2, get_robust_list.2, getitimer.2, getpriority.2, ioctl.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, kcmp.2, kill.2, lookup_dcookie.2, mmap.2, mount.2, open.2, pciconfig_read.2, perf_event_open.2, prctl.2, process_vm_readv.2, ptrace.2, quotactl.2, recv.2, setfsgid.2, setfsuid.2, sysinfo.2, umask.2, umount.2, unshare.2, utimensat.2, wait.2, assert.3, fmax.3, fmin.3, getauxval.3, inet_pton.3, malloc_hook.3, memmem.3, mkdtemp.3, mktemp.3, printf.3, strcasecmp.3, strcat.3, strtoul.3, strxfrm.3, console_codes.4, console_ioctl.4, lirc.4, tty.4, vcs.4, charmap.5, elf.5, locale.5, proc.5, repertoiremap.5, utmp.5, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, cp1251.7, cp1252.7, credentials.7, feature_test_macros.7, iso_8859-1.7, iso_8859-15.7, iso_8859-5.7, koi8-r.7, koi8-u.7, man-pages.7, mount_namespaces.7, namespaces.7, netlink.7, pid_namespaces.7, unix.7, user_namespaces.7, utf-8.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-07-17 18:10:19 +02:00
Michael Kerrisk fdfec6f9d9 elf.5: SEE ALSO: add readelf(1)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-05-10 16:42:23 +01:00
Alexander Miller 65cdd61d83 elf.5: wfix
Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-18 14:04:26 +01:00
Alexander Miller 4ca142b2a6 elf.5: wfix
Restore "before" deleted in 9c08fc7d47

Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-18 14:04:14 +01:00
Michael Kerrisk 2c767761a2 Removed trailing white space at end of lines 2016-03-15 17:30:43 +13:00
Michael Kerrisk 979867082b locale.1, localedef.1, _exit.2, accept.2, access.2, acct.2, adjtimex.2, bdflush.2, bind.2, bpf.2, brk.2, chdir.2, chmod.2, chown.2, chroot.2, clock_nanosleep.2, clone.2, close.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_ctl.2, eventfd.2, execve.2, fallocate.2, fanotify_init.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, get_kernel_syms.2, getdomainname.2, getgroups.2, gethostname.2, getpagesize.2, getpeername.2, getsid.2, getsockname.2, getsockopt.2, gettimeofday.2, init_module.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, kexec_load.2, kill.2, killpg.2, link.2, listen.2, llseek.2, lseek.2, madvise.2, memfd_create.2, mincore.2, mkdir.2, mknod.2, mmap.2, mount.2, nanosleep.2, nice.2, open.2, personality.2, pipe.2, poll.2, posix_fadvise.2, read.2, readahead.2, readlink.2, readv.2, recv.2, recvmmsg.2, rename.2, request_key.2, sched_setaffinity.2, sched_setattr.2, select.2, select_tut.2, semctl.2, semop.2, send.2, sendfile.2, sendmmsg.2, seteuid.2, setns.2, setpgid.2, setreuid.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigsuspend.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, symlink.2, sync.2, syscall.2, syscalls.2, times.2, truncate.2, unlink.2, unshare.2, uselib.2, utimensat.2, vfork.2, vhangup.2, wait.2, wait4.2, write.2, a64l.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_read.3, aio_write.3, asin.3, asinh.3, atan.3, atan2.3, atanh.3, atoi.3, backtrace.3, cbrt.3, ceil.3, cfree.3, clearenv.3, clock_getcpuclockid.3, clog10.3, cmsg.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, daemon.3, dirfd.3, div.3, dl_iterate_phdr.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, endian.3, erf.3, erfc.3, errno.3, exec.3, exp.3, exp2.3, expm1.3, fabs.3, fdim.3, ferror.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmin.3, fmod.3, fopen.3, fpclassify.3, frexp.3, fseeko.3, fts.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getline.3, getloadavg.3, getmntent.3, getnameinfo.3, getnetent_r.3, getpass.3, getprotoent_r.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent_r.3, getservent_r.3, getspnam.3, getsubopt.3, getusershell.3, getutent.3, getw.3, gsignal.3, hypot.3, ilogb.3, inet.3, initgroups.3, insque.3, isalpha.3, isgreater.3, iswblank.3, j0.3, ldexp.3, lgamma.3, lio_listio.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, makedev.3, matherr.3, mbsnrtowcs.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_receive.3, mq_send.3, nan.3, nextafter.3, on_exit.3, open_memstream.3, opendir.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, printf.3, profil.3, psignal.3, pthread_attr_setstack.3, pthread_setaffinity_np.3, putenv.3, putpwent.3, qecvt.3, rand.3, random.3, random_r.3, rcmd.3, readdir.3, realpath.3, remainder.3, remquo.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, scalb.3, scalbln.3, scandir.3, scanf.3, seekdir.3, sem_wait.3, setbuf.3, setenv.3, setjmp.3, setnetgrent.3, siginterrupt.3, signbit.3, significand.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stpcpy.3, stpncpy.3, strdup.3, strerror.3, strftime.3, strlen.3, strnlen.3, strsep.3, strsignal.3, strtod.3, strtok.3, strtol.3, strtoul.3, syslog.3, system.3, tan.3, tanh.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, trunc.3, ttyslot.3, tzset.3, ualarm.3, unlocked_stdio.3, usleep.3, wcpcpy.3, wcpncpy.3, wcscasecmp.3, wcsdup.3, wcsncasecmp.3, wcsnlen.3, wcsnrtombs.3, wprintf.3, y0.3, pts.4, st.4, tty_ioctl.4, elf.5, gai.conf.5, group.5, locale.5, nsswitch.conf.5, proc.5, utmp.5, aio.7, capabilities.7, credentials.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, inotify.7, ip.7, mq_overview.7, namespaces.7, pipe.7, signal.7, socket.7, standards.7, svipc.7, symlink.7, time.7, unicode.7, unix.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-15 17:30:43 +13:00
Michael Kerrisk 8a07a1c488 elf.5: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-09 19:42:59 +01:00
Michael Kerrisk b3b6aa6dd1 elf.5: Improve description of STV_DEFAULT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-09 19:42:59 +01:00
Michael Kerrisk d24f72ec80 elf.5: Improve description of STV_HIDDEN
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-09 19:42:59 +01:00
Michael Kerrisk 2c8e09b4ff elf.5: Fix description of STV_PROTECTED
Quoting Mike:

gabi says:
https://refspecs.linuxbase.org/elf/gabi4+/ch4.symtab.html
A symbol defined in the current component is protected if it is
visible in other components but not preemptable, meaning that
any reference to such a symbol from within the defining component
must be resolved to the definition in that component, even if
there is a definition in another component that would preempt by
the default rules. A symbol with STB_LOCAL binding may not have
STV_PROTECTED visibility. If a symbol definition with
STV_PROTECTED visibility from a shared object is taken as
resolving a reference from an executable or another shared object,
the SHN_UNDEF symbol table entry created has STV_DEFAULT
visibility.

solaris/oracle says:
https://docs.oracle.com/cd/E26502_01/html/E26507/chapter6-79797.html
A symbol that is defined in the current component is protected
if the symbol is visible in other components, but cannot be
preempted. Any reference to such a symbol from within the defining
component must be resolved to the definition in that component.
This resolution must occur, even if a symbol definition exists in
another component that would interpose by the default rules.
A symbol with STB_LOCAL binding will not have STV_PROTECTED
visibility.

but i think this ibm article is probably the most understandable:
https://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/
The symbol is visible outside the current executable or shared
object, but it may not be overridden. In other words, if a
protected symbol in a shared library is referenced by an other
code in the shared library, the other code will always reference
the symbol in the shared library, even if the executable defines
a symbol with the same name.

Reported-by: Gabriel Corona <gabriel.corona@enst-bretagne.fr>
Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-09 19:42:54 +01:00
Michael Kerrisk db337e545c elf.5: srcfix: remove commented-out mandoc markuo
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-09 19:17:49 +01:00
Michael Kerrisk 833dec2bd1 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk e2e52667d0 elf.5: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 34fe0d694e elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk aec0c1d559 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 661c038ccf elf.5: Parameterize top-level indent
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk c3a4517149 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk b57b5c8885 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 1e90e9f8e5 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 0b5e05e935 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 252dec8977 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk c9925fbd04 elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk bdd7d0d87b elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 28c7227aab elf.5: ffix: remove "." on short list entries 2016-01-28 10:44:42 +01:00
Michael Kerrisk 9c08fc7d47 elf.5: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk cf79eeed0e elf.5: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk 9f5d962b9a elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:42 +01:00
Michael Kerrisk a38ab67832 elf.5: Reword discussion of range values a little
Reported-by: Chris Pick <kernel@chrispick.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:35 +01:00
Michael Kerrisk fc543c7623 elf.5: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:01 +01:00
Michael Kerrisk 072c57a87d elf.5: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:01 +01:00
Michael Kerrisk 10cbe8453b elf.5: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:44:01 +01:00
Chris Pick 1d8595fd1e elf.5: Remove erroneous, duplicate SHN_* section
The ELF header section's e_shstrndx contained a duplicate
description of the SHN_* special section header indices.
Remove them.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-01-28 10:43:49 +01:00
Michael Kerrisk 54d5fd1e44 elf.5: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-08-08 17:35:44 +02:00
Michael Kerrisk a547929c7f elf.5: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-08-08 17:35:44 +02:00
Michael Kerrisk a41c3eccb2 elf.5: wfix
Reported-by: Hack NDo <hackndo@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-05-29 20:31:41 +02:00
Michael Kerrisk 59dc509c55 elf.5, services.5, bootparam.7, glob.7: Minor wording fix ("E.g." ==> "For example")
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-05-08 11:15:37 +02:00
Michael Kerrisk 2b9b829d52 time.1, get_kernel_syms.2, getitimer.2, open.2, perf_event_open.2, wait.2, alloca.3, bcmp.3, catopen.3, fputwc.3, iconv.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, mbsinit.3, putwchar.3, rcmd.3, rexec.3, sigqueue.3, strverscmp.3, wctrans.3, wctype.3, wcwidth.3, console_codes.4, initrd.4, st.4, elf.5, nss.5, ip.7, netdevice.7, path_resolution.7, socket.7, udp.7, ld.so.8: grfix: s/Otherwise /Otherwise, /
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-04-28 10:15:47 +02:00
Michael Kerrisk c1fdef301c elf.5: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-03-26 07:33:17 +01:00
Michael Kerrisk 12ccb8fc15 mbind.2, set_mempolicy.2, sigaction.2, elf.5, hosts.equiv.5, nscd.conf.5: Add Oxford comma
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-02-05 15:55:41 +01:00
Michael Kerrisk f78ed33a65 madvise.2, perf_event_open.2, query_module.2, stat.2, sem_init.3, hpsa.4, rtc.4, st.4, elf.5, filesystems.5, proc.5, environ.7, man-pages.7, regex.7, units.7: Reword to avoid use of "etc."
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-01-18 23:58:39 +13:00
Michael Kerrisk 76c637e18c getcpu.2, getunwind.2, kcmp.2, mmap.2, perf_event_open.2, perfmonctl.2, quotactl.2, restart_syscall.2, btree.3, dbopen.3, hash.3, recno.3, sched_getcpu.3, elf.5, bootparam.7, hier.7, netdevice.7, rtnetlink.7: wfix: "xxxx specific" ==> "xxxx-specific" 2014-01-11 06:16:28 +13:00
Michael Kerrisk 9a86ff918e unshare.2, sched_getcpu.3, elf.5, capabilities.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-04-19 13:36:54 +02:00
Mike Frysinger 7e8740aedd elf.5: Add byte positions for all EI_xxx fields
When describing e_ident, most of the EI_xxx defines mention the
exact byte number.  This is useful when manually hacking an ELF
with a hex editor.  However, the last few fields don't do this,
which means you have to count things up yourself.
Add a single word to each so you don't have to do that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-04-16 05:03:09 +02:00