| This is libc.info, produced by makeinfo version 5.2 from libc.texinfo. |
| |
| This file documents the GNU C Library. |
| |
| This is 'The GNU C Library Reference Manual', for version 2.21. |
| |
| Copyright (C) 1993-2015 Free Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.3 or |
| any later version published by the Free Software Foundation; with the |
| Invariant Sections being "Free Software Needs Free Documentation" and |
| "GNU Lesser General Public License", the Front-Cover texts being "A GNU |
| Manual", and with the Back-Cover Texts as in (a) below. A copy of the |
| license is included in the section entitled "GNU Free Documentation |
| License". |
| |
| (a) The FSF's Back-Cover Text is: "You have the freedom to copy and |
| modify this GNU manual. Buying copies from the FSF supports it in |
| developing GNU and promoting software freedom." |
| INFO-DIR-SECTION Software libraries |
| START-INFO-DIR-ENTRY |
| * Libc: (libc). C library. |
| END-INFO-DIR-ENTRY |
| |
| INFO-DIR-SECTION GNU C library functions and macros |
| START-INFO-DIR-ENTRY |
| * a64l: (libc)Encode Binary Data. |
| * abort: (libc)Aborting a Program. |
| * abs: (libc)Absolute Value. |
| * accept: (libc)Accepting Connections. |
| * access: (libc)Testing File Access. |
| * acosf: (libc)Inverse Trig Functions. |
| * acoshf: (libc)Hyperbolic Functions. |
| * acosh: (libc)Hyperbolic Functions. |
| * acoshl: (libc)Hyperbolic Functions. |
| * acos: (libc)Inverse Trig Functions. |
| * acosl: (libc)Inverse Trig Functions. |
| * addmntent: (libc)mtab. |
| * addseverity: (libc)Adding Severity Classes. |
| * adjtime: (libc)High-Resolution Calendar. |
| * adjtimex: (libc)High-Resolution Calendar. |
| * aio_cancel64: (libc)Cancel AIO Operations. |
| * aio_cancel: (libc)Cancel AIO Operations. |
| * aio_error64: (libc)Status of AIO Operations. |
| * aio_error: (libc)Status of AIO Operations. |
| * aio_fsync64: (libc)Synchronizing AIO Operations. |
| * aio_fsync: (libc)Synchronizing AIO Operations. |
| * aio_init: (libc)Configuration of AIO. |
| * aio_read64: (libc)Asynchronous Reads/Writes. |
| * aio_read: (libc)Asynchronous Reads/Writes. |
| * aio_return64: (libc)Status of AIO Operations. |
| * aio_return: (libc)Status of AIO Operations. |
| * aio_suspend64: (libc)Synchronizing AIO Operations. |
| * aio_suspend: (libc)Synchronizing AIO Operations. |
| * aio_write64: (libc)Asynchronous Reads/Writes. |
| * aio_write: (libc)Asynchronous Reads/Writes. |
| * alarm: (libc)Setting an Alarm. |
| * aligned_alloc: (libc)Aligned Memory Blocks. |
| * alloca: (libc)Variable Size Automatic. |
| * alphasort64: (libc)Scanning Directory Content. |
| * alphasort: (libc)Scanning Directory Content. |
| * ALTWERASE: (libc)Local Modes. |
| * ARG_MAX: (libc)General Limits. |
| * argp_error: (libc)Argp Helper Functions. |
| * ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions. |
| * argp_failure: (libc)Argp Helper Functions. |
| * argp_help: (libc)Argp Help. |
| * argp_parse: (libc)Argp. |
| * argp_state_help: (libc)Argp Helper Functions. |
| * argp_usage: (libc)Argp Helper Functions. |
| * argz_add: (libc)Argz Functions. |
| * argz_add_sep: (libc)Argz Functions. |
| * argz_append: (libc)Argz Functions. |
| * argz_count: (libc)Argz Functions. |
| * argz_create: (libc)Argz Functions. |
| * argz_create_sep: (libc)Argz Functions. |
| * argz_delete: (libc)Argz Functions. |
| * argz_extract: (libc)Argz Functions. |
| * argz_insert: (libc)Argz Functions. |
| * argz_next: (libc)Argz Functions. |
| * argz_replace: (libc)Argz Functions. |
| * argz_stringify: (libc)Argz Functions. |
| * asctime: (libc)Formatting Calendar Time. |
| * asctime_r: (libc)Formatting Calendar Time. |
| * asinf: (libc)Inverse Trig Functions. |
| * asinhf: (libc)Hyperbolic Functions. |
| * asinh: (libc)Hyperbolic Functions. |
| * asinhl: (libc)Hyperbolic Functions. |
| * asin: (libc)Inverse Trig Functions. |
| * asinl: (libc)Inverse Trig Functions. |
| * asprintf: (libc)Dynamic Output. |
| * assert: (libc)Consistency Checking. |
| * assert_perror: (libc)Consistency Checking. |
| * atan2f: (libc)Inverse Trig Functions. |
| * atan2: (libc)Inverse Trig Functions. |
| * atan2l: (libc)Inverse Trig Functions. |
| * atanf: (libc)Inverse Trig Functions. |
| * atanhf: (libc)Hyperbolic Functions. |
| * atanh: (libc)Hyperbolic Functions. |
| * atanhl: (libc)Hyperbolic Functions. |
| * atan: (libc)Inverse Trig Functions. |
| * atanl: (libc)Inverse Trig Functions. |
| * atexit: (libc)Cleanups on Exit. |
| * atof: (libc)Parsing of Floats. |
| * atoi: (libc)Parsing of Integers. |
| * atol: (libc)Parsing of Integers. |
| * atoll: (libc)Parsing of Integers. |
| * backtrace: (libc)Backtraces. |
| * backtrace_symbols_fd: (libc)Backtraces. |
| * backtrace_symbols: (libc)Backtraces. |
| * basename: (libc)Finding Tokens in a String. |
| * basename: (libc)Finding Tokens in a String. |
| * BC_BASE_MAX: (libc)Utility Limits. |
| * BC_DIM_MAX: (libc)Utility Limits. |
| * bcmp: (libc)String/Array Comparison. |
| * bcopy: (libc)Copying and Concatenation. |
| * BC_SCALE_MAX: (libc)Utility Limits. |
| * BC_STRING_MAX: (libc)Utility Limits. |
| * bind: (libc)Setting Address. |
| * bind_textdomain_codeset: (libc)Charset conversion in gettext. |
| * bindtextdomain: (libc)Locating gettext catalog. |
| * BRKINT: (libc)Input Modes. |
| * brk: (libc)Resizing the Data Segment. |
| * bsearch: (libc)Array Search Function. |
| * btowc: (libc)Converting a Character. |
| * BUFSIZ: (libc)Controlling Buffering. |
| * bzero: (libc)Copying and Concatenation. |
| * cabsf: (libc)Absolute Value. |
| * cabs: (libc)Absolute Value. |
| * cabsl: (libc)Absolute Value. |
| * cacosf: (libc)Inverse Trig Functions. |
| * cacoshf: (libc)Hyperbolic Functions. |
| * cacosh: (libc)Hyperbolic Functions. |
| * cacoshl: (libc)Hyperbolic Functions. |
| * cacos: (libc)Inverse Trig Functions. |
| * cacosl: (libc)Inverse Trig Functions. |
| * calloc: (libc)Allocating Cleared Space. |
| * canonicalize_file_name: (libc)Symbolic Links. |
| * cargf: (libc)Operations on Complex. |
| * carg: (libc)Operations on Complex. |
| * cargl: (libc)Operations on Complex. |
| * casinf: (libc)Inverse Trig Functions. |
| * casinhf: (libc)Hyperbolic Functions. |
| * casinh: (libc)Hyperbolic Functions. |
| * casinhl: (libc)Hyperbolic Functions. |
| * casin: (libc)Inverse Trig Functions. |
| * casinl: (libc)Inverse Trig Functions. |
| * catanf: (libc)Inverse Trig Functions. |
| * catanhf: (libc)Hyperbolic Functions. |
| * catanh: (libc)Hyperbolic Functions. |
| * catanhl: (libc)Hyperbolic Functions. |
| * catan: (libc)Inverse Trig Functions. |
| * catanl: (libc)Inverse Trig Functions. |
| * catclose: (libc)The catgets Functions. |
| * catgets: (libc)The catgets Functions. |
| * catopen: (libc)The catgets Functions. |
| * cbc_crypt: (libc)DES Encryption. |
| * cbrtf: (libc)Exponents and Logarithms. |
| * cbrt: (libc)Exponents and Logarithms. |
| * cbrtl: (libc)Exponents and Logarithms. |
| * ccosf: (libc)Trig Functions. |
| * ccoshf: (libc)Hyperbolic Functions. |
| * ccosh: (libc)Hyperbolic Functions. |
| * ccoshl: (libc)Hyperbolic Functions. |
| * ccos: (libc)Trig Functions. |
| * ccosl: (libc)Trig Functions. |
| * CCTS_OFLOW: (libc)Control Modes. |
| * ceilf: (libc)Rounding Functions. |
| * ceil: (libc)Rounding Functions. |
| * ceill: (libc)Rounding Functions. |
| * cexpf: (libc)Exponents and Logarithms. |
| * cexp: (libc)Exponents and Logarithms. |
| * cexpl: (libc)Exponents and Logarithms. |
| * cfgetispeed: (libc)Line Speed. |
| * cfgetospeed: (libc)Line Speed. |
| * cfmakeraw: (libc)Noncanonical Input. |
| * cfree: (libc)Freeing after Malloc. |
| * cfsetispeed: (libc)Line Speed. |
| * cfsetospeed: (libc)Line Speed. |
| * cfsetspeed: (libc)Line Speed. |
| * chdir: (libc)Working Directory. |
| * CHILD_MAX: (libc)General Limits. |
| * chmod: (libc)Setting Permissions. |
| * chown: (libc)File Owner. |
| * CIGNORE: (libc)Control Modes. |
| * cimagf: (libc)Operations on Complex. |
| * cimag: (libc)Operations on Complex. |
| * cimagl: (libc)Operations on Complex. |
| * clearenv: (libc)Environment Access. |
| * clearerr: (libc)Error Recovery. |
| * clearerr_unlocked: (libc)Error Recovery. |
| * CLK_TCK: (libc)Processor Time. |
| * CLOCAL: (libc)Control Modes. |
| * clock: (libc)CPU Time. |
| * CLOCKS_PER_SEC: (libc)CPU Time. |
| * clog10f: (libc)Exponents and Logarithms. |
| * clog10: (libc)Exponents and Logarithms. |
| * clog10l: (libc)Exponents and Logarithms. |
| * clogf: (libc)Exponents and Logarithms. |
| * clog: (libc)Exponents and Logarithms. |
| * clogl: (libc)Exponents and Logarithms. |
| * closedir: (libc)Reading/Closing Directory. |
| * close: (libc)Opening and Closing Files. |
| * closelog: (libc)closelog. |
| * COLL_WEIGHTS_MAX: (libc)Utility Limits. |
| * _Complex_I: (libc)Complex Numbers. |
| * confstr: (libc)String Parameters. |
| * conjf: (libc)Operations on Complex. |
| * conj: (libc)Operations on Complex. |
| * conjl: (libc)Operations on Complex. |
| * connect: (libc)Connecting. |
| * copysignf: (libc)FP Bit Twiddling. |
| * copysign: (libc)FP Bit Twiddling. |
| * copysignl: (libc)FP Bit Twiddling. |
| * cosf: (libc)Trig Functions. |
| * coshf: (libc)Hyperbolic Functions. |
| * cosh: (libc)Hyperbolic Functions. |
| * coshl: (libc)Hyperbolic Functions. |
| * cos: (libc)Trig Functions. |
| * cosl: (libc)Trig Functions. |
| * cpowf: (libc)Exponents and Logarithms. |
| * cpow: (libc)Exponents and Logarithms. |
| * cpowl: (libc)Exponents and Logarithms. |
| * cprojf: (libc)Operations on Complex. |
| * cproj: (libc)Operations on Complex. |
| * cprojl: (libc)Operations on Complex. |
| * CPU_CLR: (libc)CPU Affinity. |
| * CPU_ISSET: (libc)CPU Affinity. |
| * CPU_SET: (libc)CPU Affinity. |
| * CPU_SETSIZE: (libc)CPU Affinity. |
| * CPU_ZERO: (libc)CPU Affinity. |
| * CREAD: (libc)Control Modes. |
| * crealf: (libc)Operations on Complex. |
| * creal: (libc)Operations on Complex. |
| * creall: (libc)Operations on Complex. |
| * creat64: (libc)Opening and Closing Files. |
| * creat: (libc)Opening and Closing Files. |
| * CRTS_IFLOW: (libc)Control Modes. |
| * crypt: (libc)crypt. |
| * crypt_r: (libc)crypt. |
| * CS5: (libc)Control Modes. |
| * CS6: (libc)Control Modes. |
| * CS7: (libc)Control Modes. |
| * CS8: (libc)Control Modes. |
| * csinf: (libc)Trig Functions. |
| * csinhf: (libc)Hyperbolic Functions. |
| * csinh: (libc)Hyperbolic Functions. |
| * csinhl: (libc)Hyperbolic Functions. |
| * csin: (libc)Trig Functions. |
| * csinl: (libc)Trig Functions. |
| * CSIZE: (libc)Control Modes. |
| * csqrtf: (libc)Exponents and Logarithms. |
| * csqrt: (libc)Exponents and Logarithms. |
| * csqrtl: (libc)Exponents and Logarithms. |
| * CSTOPB: (libc)Control Modes. |
| * ctanf: (libc)Trig Functions. |
| * ctanhf: (libc)Hyperbolic Functions. |
| * ctanh: (libc)Hyperbolic Functions. |
| * ctanhl: (libc)Hyperbolic Functions. |
| * ctan: (libc)Trig Functions. |
| * ctanl: (libc)Trig Functions. |
| * ctermid: (libc)Identifying the Terminal. |
| * ctime: (libc)Formatting Calendar Time. |
| * ctime_r: (libc)Formatting Calendar Time. |
| * cuserid: (libc)Who Logged In. |
| * dcgettext: (libc)Translation with gettext. |
| * dcngettext: (libc)Advanced gettext functions. |
| * DES_FAILED: (libc)DES Encryption. |
| * des_setparity: (libc)DES Encryption. |
| * dgettext: (libc)Translation with gettext. |
| * difftime: (libc)Elapsed Time. |
| * dirfd: (libc)Opening a Directory. |
| * dirname: (libc)Finding Tokens in a String. |
| * div: (libc)Integer Division. |
| * dngettext: (libc)Advanced gettext functions. |
| * drand48: (libc)SVID Random. |
| * drand48_r: (libc)SVID Random. |
| * dremf: (libc)Remainder Functions. |
| * drem: (libc)Remainder Functions. |
| * dreml: (libc)Remainder Functions. |
| * DTTOIF: (libc)Directory Entries. |
| * dup2: (libc)Duplicating Descriptors. |
| * dup: (libc)Duplicating Descriptors. |
| * E2BIG: (libc)Error Codes. |
| * EACCES: (libc)Error Codes. |
| * EADDRINUSE: (libc)Error Codes. |
| * EADDRNOTAVAIL: (libc)Error Codes. |
| * EADV: (libc)Error Codes. |
| * EAFNOSUPPORT: (libc)Error Codes. |
| * EAGAIN: (libc)Error Codes. |
| * EALREADY: (libc)Error Codes. |
| * EAUTH: (libc)Error Codes. |
| * EBACKGROUND: (libc)Error Codes. |
| * EBADE: (libc)Error Codes. |
| * EBADFD: (libc)Error Codes. |
| * EBADF: (libc)Error Codes. |
| * EBADMSG: (libc)Error Codes. |
| * EBADR: (libc)Error Codes. |
| * EBADRPC: (libc)Error Codes. |
| * EBADRQC: (libc)Error Codes. |
| * EBADSLT: (libc)Error Codes. |
| * EBFONT: (libc)Error Codes. |
| * EBUSY: (libc)Error Codes. |
| * ECANCELED: (libc)Error Codes. |
| * ecb_crypt: (libc)DES Encryption. |
| * ECHILD: (libc)Error Codes. |
| * ECHOCTL: (libc)Local Modes. |
| * ECHOE: (libc)Local Modes. |
| * ECHOKE: (libc)Local Modes. |
| * ECHOK: (libc)Local Modes. |
| * ECHO: (libc)Local Modes. |
| * ECHONL: (libc)Local Modes. |
| * ECHOPRT: (libc)Local Modes. |
| * ECHRNG: (libc)Error Codes. |
| * ECOMM: (libc)Error Codes. |
| * ECONNABORTED: (libc)Error Codes. |
| * ECONNREFUSED: (libc)Error Codes. |
| * ECONNRESET: (libc)Error Codes. |
| * ecvt: (libc)System V Number Conversion. |
| * ecvt_r: (libc)System V Number Conversion. |
| * EDEADLK: (libc)Error Codes. |
| * EDEADLOCK: (libc)Error Codes. |
| * EDESTADDRREQ: (libc)Error Codes. |
| * EDIED: (libc)Error Codes. |
| * ED: (libc)Error Codes. |
| * EDOM: (libc)Error Codes. |
| * EDOTDOT: (libc)Error Codes. |
| * EDQUOT: (libc)Error Codes. |
| * EEXIST: (libc)Error Codes. |
| * EFAULT: (libc)Error Codes. |
| * EFBIG: (libc)Error Codes. |
| * EFTYPE: (libc)Error Codes. |
| * EGRATUITOUS: (libc)Error Codes. |
| * EGREGIOUS: (libc)Error Codes. |
| * EHOSTDOWN: (libc)Error Codes. |
| * EHOSTUNREACH: (libc)Error Codes. |
| * EHWPOISON: (libc)Error Codes. |
| * EIDRM: (libc)Error Codes. |
| * EIEIO: (libc)Error Codes. |
| * EILSEQ: (libc)Error Codes. |
| * EINPROGRESS: (libc)Error Codes. |
| * EINTR: (libc)Error Codes. |
| * EINVAL: (libc)Error Codes. |
| * EIO: (libc)Error Codes. |
| * EISCONN: (libc)Error Codes. |
| * EISDIR: (libc)Error Codes. |
| * EISNAM: (libc)Error Codes. |
| * EKEYEXPIRED: (libc)Error Codes. |
| * EKEYREJECTED: (libc)Error Codes. |
| * EKEYREVOKED: (libc)Error Codes. |
| * EL2HLT: (libc)Error Codes. |
| * EL2NSYNC: (libc)Error Codes. |
| * EL3HLT: (libc)Error Codes. |
| * EL3RST: (libc)Error Codes. |
| * ELIBACC: (libc)Error Codes. |
| * ELIBBAD: (libc)Error Codes. |
| * ELIBEXEC: (libc)Error Codes. |
| * ELIBMAX: (libc)Error Codes. |
| * ELIBSCN: (libc)Error Codes. |
| * ELNRNG: (libc)Error Codes. |
| * ELOOP: (libc)Error Codes. |
| * EMEDIUMTYPE: (libc)Error Codes. |
| * EMFILE: (libc)Error Codes. |
| * EMLINK: (libc)Error Codes. |
| * EMSGSIZE: (libc)Error Codes. |
| * EMULTIHOP: (libc)Error Codes. |
| * ENAMETOOLONG: (libc)Error Codes. |
| * ENAVAIL: (libc)Error Codes. |
| * encrypt: (libc)DES Encryption. |
| * encrypt_r: (libc)DES Encryption. |
| * endfsent: (libc)fstab. |
| * endgrent: (libc)Scanning All Groups. |
| * endhostent: (libc)Host Names. |
| * endmntent: (libc)mtab. |
| * endnetent: (libc)Networks Database. |
| * endnetgrent: (libc)Lookup Netgroup. |
| * endprotoent: (libc)Protocols Database. |
| * endpwent: (libc)Scanning All Users. |
| * endservent: (libc)Services Database. |
| * endutent: (libc)Manipulating the Database. |
| * endutxent: (libc)XPG Functions. |
| * ENEEDAUTH: (libc)Error Codes. |
| * ENETDOWN: (libc)Error Codes. |
| * ENETRESET: (libc)Error Codes. |
| * ENETUNREACH: (libc)Error Codes. |
| * ENFILE: (libc)Error Codes. |
| * ENOANO: (libc)Error Codes. |
| * ENOBUFS: (libc)Error Codes. |
| * ENOCSI: (libc)Error Codes. |
| * ENODATA: (libc)Error Codes. |
| * ENODEV: (libc)Error Codes. |
| * ENOENT: (libc)Error Codes. |
| * ENOEXEC: (libc)Error Codes. |
| * ENOKEY: (libc)Error Codes. |
| * ENOLCK: (libc)Error Codes. |
| * ENOLINK: (libc)Error Codes. |
| * ENOMEDIUM: (libc)Error Codes. |
| * ENOMEM: (libc)Error Codes. |
| * ENOMSG: (libc)Error Codes. |
| * ENONET: (libc)Error Codes. |
| * ENOPKG: (libc)Error Codes. |
| * ENOPROTOOPT: (libc)Error Codes. |
| * ENOSPC: (libc)Error Codes. |
| * ENOSR: (libc)Error Codes. |
| * ENOSTR: (libc)Error Codes. |
| * ENOSYS: (libc)Error Codes. |
| * ENOTBLK: (libc)Error Codes. |
| * ENOTCONN: (libc)Error Codes. |
| * ENOTDIR: (libc)Error Codes. |
| * ENOTEMPTY: (libc)Error Codes. |
| * ENOTNAM: (libc)Error Codes. |
| * ENOTRECOVERABLE: (libc)Error Codes. |
| * ENOTSOCK: (libc)Error Codes. |
| * ENOTSUP: (libc)Error Codes. |
| * ENOTTY: (libc)Error Codes. |
| * ENOTUNIQ: (libc)Error Codes. |
| * envz_add: (libc)Envz Functions. |
| * envz_entry: (libc)Envz Functions. |
| * envz_get: (libc)Envz Functions. |
| * envz_merge: (libc)Envz Functions. |
| * envz_strip: (libc)Envz Functions. |
| * ENXIO: (libc)Error Codes. |
| * EOF: (libc)EOF and Errors. |
| * EOPNOTSUPP: (libc)Error Codes. |
| * EOVERFLOW: (libc)Error Codes. |
| * EOWNERDEAD: (libc)Error Codes. |
| * EPERM: (libc)Error Codes. |
| * EPFNOSUPPORT: (libc)Error Codes. |
| * EPIPE: (libc)Error Codes. |
| * EPROCLIM: (libc)Error Codes. |
| * EPROCUNAVAIL: (libc)Error Codes. |
| * EPROGMISMATCH: (libc)Error Codes. |
| * EPROGUNAVAIL: (libc)Error Codes. |
| * EPROTO: (libc)Error Codes. |
| * EPROTONOSUPPORT: (libc)Error Codes. |
| * EPROTOTYPE: (libc)Error Codes. |
| * EQUIV_CLASS_MAX: (libc)Utility Limits. |
| * erand48: (libc)SVID Random. |
| * erand48_r: (libc)SVID Random. |
| * ERANGE: (libc)Error Codes. |
| * EREMCHG: (libc)Error Codes. |
| * EREMOTEIO: (libc)Error Codes. |
| * EREMOTE: (libc)Error Codes. |
| * ERESTART: (libc)Error Codes. |
| * erfcf: (libc)Special Functions. |
| * erfc: (libc)Special Functions. |
| * erfcl: (libc)Special Functions. |
| * erff: (libc)Special Functions. |
| * ERFKILL: (libc)Error Codes. |
| * erf: (libc)Special Functions. |
| * erfl: (libc)Special Functions. |
| * EROFS: (libc)Error Codes. |
| * ERPCMISMATCH: (libc)Error Codes. |
| * err: (libc)Error Messages. |
| * errno: (libc)Checking for Errors. |
| * error_at_line: (libc)Error Messages. |
| * error: (libc)Error Messages. |
| * errx: (libc)Error Messages. |
| * ESHUTDOWN: (libc)Error Codes. |
| * ESOCKTNOSUPPORT: (libc)Error Codes. |
| * ESPIPE: (libc)Error Codes. |
| * ESRCH: (libc)Error Codes. |
| * ESRMNT: (libc)Error Codes. |
| * ESTALE: (libc)Error Codes. |
| * ESTRPIPE: (libc)Error Codes. |
| * ETIMEDOUT: (libc)Error Codes. |
| * ETIME: (libc)Error Codes. |
| * ETOOMANYREFS: (libc)Error Codes. |
| * ETXTBSY: (libc)Error Codes. |
| * EUCLEAN: (libc)Error Codes. |
| * EUNATCH: (libc)Error Codes. |
| * EUSERS: (libc)Error Codes. |
| * EWOULDBLOCK: (libc)Error Codes. |
| * EXDEV: (libc)Error Codes. |
| * execle: (libc)Executing a File. |
| * execl: (libc)Executing a File. |
| * execlp: (libc)Executing a File. |
| * execve: (libc)Executing a File. |
| * execv: (libc)Executing a File. |
| * execvp: (libc)Executing a File. |
| * EXFULL: (libc)Error Codes. |
| * EXIT_FAILURE: (libc)Exit Status. |
| * exit: (libc)Normal Termination. |
| * _exit: (libc)Termination Internals. |
| * _Exit: (libc)Termination Internals. |
| * EXIT_SUCCESS: (libc)Exit Status. |
| * exp10f: (libc)Exponents and Logarithms. |
| * exp10: (libc)Exponents and Logarithms. |
| * exp10l: (libc)Exponents and Logarithms. |
| * exp2f: (libc)Exponents and Logarithms. |
| * exp2: (libc)Exponents and Logarithms. |
| * exp2l: (libc)Exponents and Logarithms. |
| * expf: (libc)Exponents and Logarithms. |
| * exp: (libc)Exponents and Logarithms. |
| * expl: (libc)Exponents and Logarithms. |
| * expm1f: (libc)Exponents and Logarithms. |
| * expm1: (libc)Exponents and Logarithms. |
| * expm1l: (libc)Exponents and Logarithms. |
| * EXPR_NEST_MAX: (libc)Utility Limits. |
| * fabsf: (libc)Absolute Value. |
| * fabs: (libc)Absolute Value. |
| * fabsl: (libc)Absolute Value. |
| * __fbufsize: (libc)Controlling Buffering. |
| * fchdir: (libc)Working Directory. |
| * fchmod: (libc)Setting Permissions. |
| * fchown: (libc)File Owner. |
| * fcloseall: (libc)Closing Streams. |
| * fclose: (libc)Closing Streams. |
| * fcntl: (libc)Control Operations. |
| * fcvt: (libc)System V Number Conversion. |
| * fcvt_r: (libc)System V Number Conversion. |
| * fdatasync: (libc)Synchronizing I/O. |
| * FD_CLOEXEC: (libc)Descriptor Flags. |
| * FD_CLR: (libc)Waiting for I/O. |
| * fdimf: (libc)Misc FP Arithmetic. |
| * fdim: (libc)Misc FP Arithmetic. |
| * fdiml: (libc)Misc FP Arithmetic. |
| * FD_ISSET: (libc)Waiting for I/O. |
| * fdopendir: (libc)Opening a Directory. |
| * fdopen: (libc)Descriptors and Streams. |
| * FD_SET: (libc)Waiting for I/O. |
| * FD_SETSIZE: (libc)Waiting for I/O. |
| * F_DUPFD: (libc)Duplicating Descriptors. |
| * FD_ZERO: (libc)Waiting for I/O. |
| * feclearexcept: (libc)Status bit operations. |
| * fedisableexcept: (libc)Control Functions. |
| * feenableexcept: (libc)Control Functions. |
| * fegetenv: (libc)Control Functions. |
| * fegetexceptflag: (libc)Status bit operations. |
| * fegetexcept: (libc)Control Functions. |
| * fegetround: (libc)Rounding. |
| * feholdexcept: (libc)Control Functions. |
| * feof: (libc)EOF and Errors. |
| * feof_unlocked: (libc)EOF and Errors. |
| * feraiseexcept: (libc)Status bit operations. |
| * ferror: (libc)EOF and Errors. |
| * ferror_unlocked: (libc)EOF and Errors. |
| * fesetenv: (libc)Control Functions. |
| * fesetexceptflag: (libc)Status bit operations. |
| * fesetround: (libc)Rounding. |
| * fetestexcept: (libc)Status bit operations. |
| * feupdateenv: (libc)Control Functions. |
| * fflush: (libc)Flushing Buffers. |
| * fflush_unlocked: (libc)Flushing Buffers. |
| * fgetc: (libc)Character Input. |
| * fgetc_unlocked: (libc)Character Input. |
| * F_GETFD: (libc)Descriptor Flags. |
| * F_GETFL: (libc)Getting File Status Flags. |
| * fgetgrent: (libc)Scanning All Groups. |
| * fgetgrent_r: (libc)Scanning All Groups. |
| * F_GETLK: (libc)File Locks. |
| * F_GETOWN: (libc)Interrupt Input. |
| * fgetpos64: (libc)Portable Positioning. |
| * fgetpos: (libc)Portable Positioning. |
| * fgetpwent: (libc)Scanning All Users. |
| * fgetpwent_r: (libc)Scanning All Users. |
| * fgets: (libc)Line Input. |
| * fgets_unlocked: (libc)Line Input. |
| * fgetwc: (libc)Character Input. |
| * fgetwc_unlocked: (libc)Character Input. |
| * fgetws: (libc)Line Input. |
| * fgetws_unlocked: (libc)Line Input. |
| * FILENAME_MAX: (libc)Limits for Files. |
| * fileno: (libc)Descriptors and Streams. |
| * fileno_unlocked: (libc)Descriptors and Streams. |
| * finitef: (libc)Floating Point Classes. |
| * finite: (libc)Floating Point Classes. |
| * finitel: (libc)Floating Point Classes. |
| * __flbf: (libc)Controlling Buffering. |
| * flockfile: (libc)Streams and Threads. |
| * floorf: (libc)Rounding Functions. |
| * floor: (libc)Rounding Functions. |
| * floorl: (libc)Rounding Functions. |
| * _flushlbf: (libc)Flushing Buffers. |
| * FLUSHO: (libc)Local Modes. |
| * fmaf: (libc)Misc FP Arithmetic. |
| * fma: (libc)Misc FP Arithmetic. |
| * fmal: (libc)Misc FP Arithmetic. |
| * fmaxf: (libc)Misc FP Arithmetic. |
| * fmax: (libc)Misc FP Arithmetic. |
| * fmaxl: (libc)Misc FP Arithmetic. |
| * fmemopen: (libc)String Streams. |
| * fminf: (libc)Misc FP Arithmetic. |
| * fmin: (libc)Misc FP Arithmetic. |
| * fminl: (libc)Misc FP Arithmetic. |
| * fmodf: (libc)Remainder Functions. |
| * fmod: (libc)Remainder Functions. |
| * fmodl: (libc)Remainder Functions. |
| * fmtmsg: (libc)Printing Formatted Messages. |
| * fnmatch: (libc)Wildcard Matching. |
| * F_OFD_GETLK: (libc)Open File Description Locks. |
| * F_OFD_SETLK: (libc)Open File Description Locks. |
| * F_OFD_SETLKW: (libc)Open File Description Locks. |
| * F_OK: (libc)Testing File Access. |
| * fopen64: (libc)Opening Streams. |
| * fopencookie: (libc)Streams and Cookies. |
| * fopen: (libc)Opening Streams. |
| * FOPEN_MAX: (libc)Opening Streams. |
| * fork: (libc)Creating a Process. |
| * forkpty: (libc)Pseudo-Terminal Pairs. |
| * fpathconf: (libc)Pathconf. |
| * fpclassify: (libc)Floating Point Classes. |
| * __fpending: (libc)Controlling Buffering. |
| * FP_ILOGB0: (libc)Exponents and Logarithms. |
| * FP_ILOGBNAN: (libc)Exponents and Logarithms. |
| * fprintf: (libc)Formatted Output Functions. |
| * __fpurge: (libc)Flushing Buffers. |
| * fputc: (libc)Simple Output. |
| * fputc_unlocked: (libc)Simple Output. |
| * fputs: (libc)Simple Output. |
| * fputs_unlocked: (libc)Simple Output. |
| * fputwc: (libc)Simple Output. |
| * fputwc_unlocked: (libc)Simple Output. |
| * fputws: (libc)Simple Output. |
| * fputws_unlocked: (libc)Simple Output. |
| * __freadable: (libc)Opening Streams. |
| * __freading: (libc)Opening Streams. |
| * fread: (libc)Block Input/Output. |
| * fread_unlocked: (libc)Block Input/Output. |
| * free: (libc)Freeing after Malloc. |
| * freopen64: (libc)Opening Streams. |
| * freopen: (libc)Opening Streams. |
| * frexpf: (libc)Normalization Functions. |
| * frexp: (libc)Normalization Functions. |
| * frexpl: (libc)Normalization Functions. |
| * fscanf: (libc)Formatted Input Functions. |
| * fseek: (libc)File Positioning. |
| * fseeko64: (libc)File Positioning. |
| * fseeko: (libc)File Positioning. |
| * F_SETFD: (libc)Descriptor Flags. |
| * F_SETFL: (libc)Getting File Status Flags. |
| * F_SETLK: (libc)File Locks. |
| * F_SETLKW: (libc)File Locks. |
| * __fsetlocking: (libc)Streams and Threads. |
| * F_SETOWN: (libc)Interrupt Input. |
| * fsetpos64: (libc)Portable Positioning. |
| * fsetpos: (libc)Portable Positioning. |
| * fstat64: (libc)Reading Attributes. |
| * fstat: (libc)Reading Attributes. |
| * fsync: (libc)Synchronizing I/O. |
| * ftell: (libc)File Positioning. |
| * ftello64: (libc)File Positioning. |
| * ftello: (libc)File Positioning. |
| * ftruncate64: (libc)File Size. |
| * ftruncate: (libc)File Size. |
| * ftrylockfile: (libc)Streams and Threads. |
| * ftw64: (libc)Working with Directory Trees. |
| * ftw: (libc)Working with Directory Trees. |
| * funlockfile: (libc)Streams and Threads. |
| * futimes: (libc)File Times. |
| * fwide: (libc)Streams and I18N. |
| * fwprintf: (libc)Formatted Output Functions. |
| * __fwritable: (libc)Opening Streams. |
| * fwrite: (libc)Block Input/Output. |
| * fwrite_unlocked: (libc)Block Input/Output. |
| * __fwriting: (libc)Opening Streams. |
| * fwscanf: (libc)Formatted Input Functions. |
| * gammaf: (libc)Special Functions. |
| * gamma: (libc)Special Functions. |
| * gammal: (libc)Special Functions. |
| * __gconv_end_fct: (libc)glibc iconv Implementation. |
| * __gconv_fct: (libc)glibc iconv Implementation. |
| * __gconv_init_fct: (libc)glibc iconv Implementation. |
| * gcvt: (libc)System V Number Conversion. |
| * getauxval: (libc)Auxiliary Vector. |
| * get_avphys_pages: (libc)Query Memory Parameters. |
| * getchar: (libc)Character Input. |
| * getchar_unlocked: (libc)Character Input. |
| * getc: (libc)Character Input. |
| * getcontext: (libc)System V contexts. |
| * getc_unlocked: (libc)Character Input. |
| * get_current_dir_name: (libc)Working Directory. |
| * getcwd: (libc)Working Directory. |
| * getdate: (libc)General Time String Parsing. |
| * getdate_r: (libc)General Time String Parsing. |
| * getdelim: (libc)Line Input. |
| * getdomainnname: (libc)Host Identification. |
| * getegid: (libc)Reading Persona. |
| * getenv: (libc)Environment Access. |
| * geteuid: (libc)Reading Persona. |
| * getfsent: (libc)fstab. |
| * getfsfile: (libc)fstab. |
| * getfsspec: (libc)fstab. |
| * getgid: (libc)Reading Persona. |
| * getgrent: (libc)Scanning All Groups. |
| * getgrent_r: (libc)Scanning All Groups. |
| * getgrgid: (libc)Lookup Group. |
| * getgrgid_r: (libc)Lookup Group. |
| * getgrnam: (libc)Lookup Group. |
| * getgrnam_r: (libc)Lookup Group. |
| * getgrouplist: (libc)Setting Groups. |
| * getgroups: (libc)Reading Persona. |
| * gethostbyaddr: (libc)Host Names. |
| * gethostbyaddr_r: (libc)Host Names. |
| * gethostbyname2: (libc)Host Names. |
| * gethostbyname2_r: (libc)Host Names. |
| * gethostbyname: (libc)Host Names. |
| * gethostbyname_r: (libc)Host Names. |
| * gethostent: (libc)Host Names. |
| * gethostid: (libc)Host Identification. |
| * gethostname: (libc)Host Identification. |
| * getitimer: (libc)Setting an Alarm. |
| * getline: (libc)Line Input. |
| * getloadavg: (libc)Processor Resources. |
| * getlogin: (libc)Who Logged In. |
| * getmntent: (libc)mtab. |
| * getmntent_r: (libc)mtab. |
| * getnetbyaddr: (libc)Networks Database. |
| * getnetbyname: (libc)Networks Database. |
| * getnetent: (libc)Networks Database. |
| * getnetgrent: (libc)Lookup Netgroup. |
| * getnetgrent_r: (libc)Lookup Netgroup. |
| * get_nprocs_conf: (libc)Processor Resources. |
| * get_nprocs: (libc)Processor Resources. |
| * getopt: (libc)Using Getopt. |
| * getopt_long: (libc)Getopt Long Options. |
| * getopt_long_only: (libc)Getopt Long Options. |
| * getpagesize: (libc)Query Memory Parameters. |
| * getpass: (libc)getpass. |
| * getpeername: (libc)Who is Connected. |
| * getpgid: (libc)Process Group Functions. |
| * getpgrp: (libc)Process Group Functions. |
| * get_phys_pages: (libc)Query Memory Parameters. |
| * getpid: (libc)Process Identification. |
| * getppid: (libc)Process Identification. |
| * getpriority: (libc)Traditional Scheduling Functions. |
| * getprotobyname: (libc)Protocols Database. |
| * getprotobynumber: (libc)Protocols Database. |
| * getprotoent: (libc)Protocols Database. |
| * getpt: (libc)Allocation. |
| * getpwent: (libc)Scanning All Users. |
| * getpwent_r: (libc)Scanning All Users. |
| * getpwnam: (libc)Lookup User. |
| * getpwnam_r: (libc)Lookup User. |
| * getpwuid: (libc)Lookup User. |
| * getpwuid_r: (libc)Lookup User. |
| * getrlimit64: (libc)Limits on Resources. |
| * getrlimit: (libc)Limits on Resources. |
| * getrusage: (libc)Resource Usage. |
| * getservbyname: (libc)Services Database. |
| * getservbyport: (libc)Services Database. |
| * getservent: (libc)Services Database. |
| * getsid: (libc)Process Group Functions. |
| * gets: (libc)Line Input. |
| * getsockname: (libc)Reading Address. |
| * getsockopt: (libc)Socket Option Functions. |
| * getsubopt: (libc)Suboptions. |
| * gettext: (libc)Translation with gettext. |
| * gettimeofday: (libc)High-Resolution Calendar. |
| * getuid: (libc)Reading Persona. |
| * getumask: (libc)Setting Permissions. |
| * getutent: (libc)Manipulating the Database. |
| * getutent_r: (libc)Manipulating the Database. |
| * getutid: (libc)Manipulating the Database. |
| * getutid_r: (libc)Manipulating the Database. |
| * getutline: (libc)Manipulating the Database. |
| * getutline_r: (libc)Manipulating the Database. |
| * getutmp: (libc)XPG Functions. |
| * getutmpx: (libc)XPG Functions. |
| * getutxent: (libc)XPG Functions. |
| * getutxid: (libc)XPG Functions. |
| * getutxline: (libc)XPG Functions. |
| * getwchar: (libc)Character Input. |
| * getwchar_unlocked: (libc)Character Input. |
| * getwc: (libc)Character Input. |
| * getwc_unlocked: (libc)Character Input. |
| * getwd: (libc)Working Directory. |
| * getw: (libc)Character Input. |
| * glob64: (libc)Calling Glob. |
| * globfree64: (libc)More Flags for Globbing. |
| * globfree: (libc)More Flags for Globbing. |
| * glob: (libc)Calling Glob. |
| * gmtime: (libc)Broken-down Time. |
| * gmtime_r: (libc)Broken-down Time. |
| * grantpt: (libc)Allocation. |
| * gsignal: (libc)Signaling Yourself. |
| * gtty: (libc)BSD Terminal Modes. |
| * hasmntopt: (libc)mtab. |
| * hcreate: (libc)Hash Search Function. |
| * hcreate_r: (libc)Hash Search Function. |
| * hdestroy: (libc)Hash Search Function. |
| * hdestroy_r: (libc)Hash Search Function. |
| * hsearch: (libc)Hash Search Function. |
| * hsearch_r: (libc)Hash Search Function. |
| * htonl: (libc)Byte Order. |
| * htons: (libc)Byte Order. |
| * HUGE_VALF: (libc)Math Error Reporting. |
| * HUGE_VAL: (libc)Math Error Reporting. |
| * HUGE_VALL: (libc)Math Error Reporting. |
| * HUPCL: (libc)Control Modes. |
| * hypotf: (libc)Exponents and Logarithms. |
| * hypot: (libc)Exponents and Logarithms. |
| * hypotl: (libc)Exponents and Logarithms. |
| * ICANON: (libc)Local Modes. |
| * iconv_close: (libc)Generic Conversion Interface. |
| * iconv: (libc)Generic Conversion Interface. |
| * iconv_open: (libc)Generic Conversion Interface. |
| * ICRNL: (libc)Input Modes. |
| * IEXTEN: (libc)Local Modes. |
| * if_freenameindex: (libc)Interface Naming. |
| * if_indextoname: (libc)Interface Naming. |
| * if_nameindex: (libc)Interface Naming. |
| * if_nametoindex: (libc)Interface Naming. |
| * IFNAMSIZ: (libc)Interface Naming. |
| * IFTODT: (libc)Directory Entries. |
| * IGNBRK: (libc)Input Modes. |
| * IGNCR: (libc)Input Modes. |
| * IGNPAR: (libc)Input Modes. |
| * I: (libc)Complex Numbers. |
| * ilogbf: (libc)Exponents and Logarithms. |
| * ilogb: (libc)Exponents and Logarithms. |
| * ilogbl: (libc)Exponents and Logarithms. |
| * _Imaginary_I: (libc)Complex Numbers. |
| * imaxabs: (libc)Absolute Value. |
| * IMAXBEL: (libc)Input Modes. |
| * imaxdiv: (libc)Integer Division. |
| * in6addr_any: (libc)Host Address Data Type. |
| * in6addr_loopback: (libc)Host Address Data Type. |
| * INADDR_ANY: (libc)Host Address Data Type. |
| * INADDR_BROADCAST: (libc)Host Address Data Type. |
| * INADDR_LOOPBACK: (libc)Host Address Data Type. |
| * INADDR_NONE: (libc)Host Address Data Type. |
| * index: (libc)Search Functions. |
| * inet_addr: (libc)Host Address Functions. |
| * inet_aton: (libc)Host Address Functions. |
| * inet_lnaof: (libc)Host Address Functions. |
| * inet_makeaddr: (libc)Host Address Functions. |
| * inet_netof: (libc)Host Address Functions. |
| * inet_network: (libc)Host Address Functions. |
| * inet_ntoa: (libc)Host Address Functions. |
| * inet_ntop: (libc)Host Address Functions. |
| * inet_pton: (libc)Host Address Functions. |
| * INFINITY: (libc)Infinity and NaN. |
| * initgroups: (libc)Setting Groups. |
| * initstate: (libc)BSD Random. |
| * initstate_r: (libc)BSD Random. |
| * INLCR: (libc)Input Modes. |
| * innetgr: (libc)Netgroup Membership. |
| * INPCK: (libc)Input Modes. |
| * ioctl: (libc)IOCTLs. |
| * _IOFBF: (libc)Controlling Buffering. |
| * _IOLBF: (libc)Controlling Buffering. |
| * _IONBF: (libc)Controlling Buffering. |
| * IPPORT_RESERVED: (libc)Ports. |
| * IPPORT_USERRESERVED: (libc)Ports. |
| * isalnum: (libc)Classification of Characters. |
| * isalpha: (libc)Classification of Characters. |
| * isascii: (libc)Classification of Characters. |
| * isatty: (libc)Is It a Terminal. |
| * isblank: (libc)Classification of Characters. |
| * iscntrl: (libc)Classification of Characters. |
| * isdigit: (libc)Classification of Characters. |
| * isfinite: (libc)Floating Point Classes. |
| * isgraph: (libc)Classification of Characters. |
| * isgreaterequal: (libc)FP Comparison Functions. |
| * isgreater: (libc)FP Comparison Functions. |
| * ISIG: (libc)Local Modes. |
| * isinff: (libc)Floating Point Classes. |
| * isinf: (libc)Floating Point Classes. |
| * isinfl: (libc)Floating Point Classes. |
| * islessequal: (libc)FP Comparison Functions. |
| * islessgreater: (libc)FP Comparison Functions. |
| * isless: (libc)FP Comparison Functions. |
| * islower: (libc)Classification of Characters. |
| * isnanf: (libc)Floating Point Classes. |
| * isnan: (libc)Floating Point Classes. |
| * isnan: (libc)Floating Point Classes. |
| * isnanl: (libc)Floating Point Classes. |
| * isnormal: (libc)Floating Point Classes. |
| * isprint: (libc)Classification of Characters. |
| * ispunct: (libc)Classification of Characters. |
| * issignaling: (libc)Floating Point Classes. |
| * isspace: (libc)Classification of Characters. |
| * ISTRIP: (libc)Input Modes. |
| * isunordered: (libc)FP Comparison Functions. |
| * isupper: (libc)Classification of Characters. |
| * iswalnum: (libc)Classification of Wide Characters. |
| * iswalpha: (libc)Classification of Wide Characters. |
| * iswblank: (libc)Classification of Wide Characters. |
| * iswcntrl: (libc)Classification of Wide Characters. |
| * iswctype: (libc)Classification of Wide Characters. |
| * iswdigit: (libc)Classification of Wide Characters. |
| * iswgraph: (libc)Classification of Wide Characters. |
| * iswlower: (libc)Classification of Wide Characters. |
| * iswprint: (libc)Classification of Wide Characters. |
| * iswpunct: (libc)Classification of Wide Characters. |
| * iswspace: (libc)Classification of Wide Characters. |
| * iswupper: (libc)Classification of Wide Characters. |
| * iswxdigit: (libc)Classification of Wide Characters. |
| * isxdigit: (libc)Classification of Characters. |
| * IXANY: (libc)Input Modes. |
| * IXOFF: (libc)Input Modes. |
| * IXON: (libc)Input Modes. |
| * j0f: (libc)Special Functions. |
| * j0: (libc)Special Functions. |
| * j0l: (libc)Special Functions. |
| * j1f: (libc)Special Functions. |
| * j1: (libc)Special Functions. |
| * j1l: (libc)Special Functions. |
| * jnf: (libc)Special Functions. |
| * jn: (libc)Special Functions. |
| * jnl: (libc)Special Functions. |
| * jrand48: (libc)SVID Random. |
| * jrand48_r: (libc)SVID Random. |
| * kill: (libc)Signaling Another Process. |
| * killpg: (libc)Signaling Another Process. |
| * l64a: (libc)Encode Binary Data. |
| * labs: (libc)Absolute Value. |
| * lcong48: (libc)SVID Random. |
| * lcong48_r: (libc)SVID Random. |
| * L_ctermid: (libc)Identifying the Terminal. |
| * L_cuserid: (libc)Who Logged In. |
| * ldexpf: (libc)Normalization Functions. |
| * ldexp: (libc)Normalization Functions. |
| * ldexpl: (libc)Normalization Functions. |
| * ldiv: (libc)Integer Division. |
| * lfind: (libc)Array Search Function. |
| * lgammaf: (libc)Special Functions. |
| * lgammaf_r: (libc)Special Functions. |
| * lgamma: (libc)Special Functions. |
| * lgammal: (libc)Special Functions. |
| * lgammal_r: (libc)Special Functions. |
| * lgamma_r: (libc)Special Functions. |
| * LINE_MAX: (libc)Utility Limits. |
| * link: (libc)Hard Links. |
| * LINK_MAX: (libc)Limits for Files. |
| * lio_listio64: (libc)Asynchronous Reads/Writes. |
| * lio_listio: (libc)Asynchronous Reads/Writes. |
| * listen: (libc)Listening. |
| * llabs: (libc)Absolute Value. |
| * lldiv: (libc)Integer Division. |
| * llrintf: (libc)Rounding Functions. |
| * llrint: (libc)Rounding Functions. |
| * llrintl: (libc)Rounding Functions. |
| * llroundf: (libc)Rounding Functions. |
| * llround: (libc)Rounding Functions. |
| * llroundl: (libc)Rounding Functions. |
| * localeconv: (libc)The Lame Way to Locale Data. |
| * localtime: (libc)Broken-down Time. |
| * localtime_r: (libc)Broken-down Time. |
| * log10f: (libc)Exponents and Logarithms. |
| * log10: (libc)Exponents and Logarithms. |
| * log10l: (libc)Exponents and Logarithms. |
| * log1pf: (libc)Exponents and Logarithms. |
| * log1p: (libc)Exponents and Logarithms. |
| * log1pl: (libc)Exponents and Logarithms. |
| * log2f: (libc)Exponents and Logarithms. |
| * log2: (libc)Exponents and Logarithms. |
| * log2l: (libc)Exponents and Logarithms. |
| * logbf: (libc)Exponents and Logarithms. |
| * logb: (libc)Exponents and Logarithms. |
| * logbl: (libc)Exponents and Logarithms. |
| * logf: (libc)Exponents and Logarithms. |
| * login: (libc)Logging In and Out. |
| * login_tty: (libc)Logging In and Out. |
| * log: (libc)Exponents and Logarithms. |
| * logl: (libc)Exponents and Logarithms. |
| * logout: (libc)Logging In and Out. |
| * logwtmp: (libc)Logging In and Out. |
| * longjmp: (libc)Non-Local Details. |
| * lrand48: (libc)SVID Random. |
| * lrand48_r: (libc)SVID Random. |
| * lrintf: (libc)Rounding Functions. |
| * lrint: (libc)Rounding Functions. |
| * lrintl: (libc)Rounding Functions. |
| * lroundf: (libc)Rounding Functions. |
| * lround: (libc)Rounding Functions. |
| * lroundl: (libc)Rounding Functions. |
| * lsearch: (libc)Array Search Function. |
| * lseek64: (libc)File Position Primitive. |
| * lseek: (libc)File Position Primitive. |
| * lstat64: (libc)Reading Attributes. |
| * lstat: (libc)Reading Attributes. |
| * L_tmpnam: (libc)Temporary Files. |
| * lutimes: (libc)File Times. |
| * madvise: (libc)Memory-mapped I/O. |
| * makecontext: (libc)System V contexts. |
| * mallinfo: (libc)Statistics of Malloc. |
| * malloc: (libc)Basic Allocation. |
| * mallopt: (libc)Malloc Tunable Parameters. |
| * MAX_CANON: (libc)Limits for Files. |
| * MAX_INPUT: (libc)Limits for Files. |
| * MAXNAMLEN: (libc)Limits for Files. |
| * MAXSYMLINKS: (libc)Symbolic Links. |
| * MB_CUR_MAX: (libc)Selecting the Conversion. |
| * mblen: (libc)Non-reentrant Character Conversion. |
| * MB_LEN_MAX: (libc)Selecting the Conversion. |
| * mbrlen: (libc)Converting a Character. |
| * mbrtowc: (libc)Converting a Character. |
| * mbsinit: (libc)Keeping the state. |
| * mbsnrtowcs: (libc)Converting Strings. |
| * mbsrtowcs: (libc)Converting Strings. |
| * mbstowcs: (libc)Non-reentrant String Conversion. |
| * mbtowc: (libc)Non-reentrant Character Conversion. |
| * mcheck: (libc)Heap Consistency Checking. |
| * MDMBUF: (libc)Control Modes. |
| * memalign: (libc)Aligned Memory Blocks. |
| * memccpy: (libc)Copying and Concatenation. |
| * memchr: (libc)Search Functions. |
| * memcmp: (libc)String/Array Comparison. |
| * memcpy: (libc)Copying and Concatenation. |
| * memfrob: (libc)Trivial Encryption. |
| * memmem: (libc)Search Functions. |
| * memmove: (libc)Copying and Concatenation. |
| * mempcpy: (libc)Copying and Concatenation. |
| * memrchr: (libc)Search Functions. |
| * memset: (libc)Copying and Concatenation. |
| * mkdir: (libc)Creating Directories. |
| * mkdtemp: (libc)Temporary Files. |
| * mkfifo: (libc)FIFO Special Files. |
| * mknod: (libc)Making Special Files. |
| * mkstemp: (libc)Temporary Files. |
| * mktemp: (libc)Temporary Files. |
| * mktime: (libc)Broken-down Time. |
| * mlockall: (libc)Page Lock Functions. |
| * mlock: (libc)Page Lock Functions. |
| * mmap64: (libc)Memory-mapped I/O. |
| * mmap: (libc)Memory-mapped I/O. |
| * modff: (libc)Rounding Functions. |
| * modf: (libc)Rounding Functions. |
| * modfl: (libc)Rounding Functions. |
| * mount: (libc)Mount-Unmount-Remount. |
| * mprobe: (libc)Heap Consistency Checking. |
| * mrand48: (libc)SVID Random. |
| * mrand48_r: (libc)SVID Random. |
| * mremap: (libc)Memory-mapped I/O. |
| * MSG_DONTROUTE: (libc)Socket Data Options. |
| * MSG_OOB: (libc)Socket Data Options. |
| * MSG_PEEK: (libc)Socket Data Options. |
| * msync: (libc)Memory-mapped I/O. |
| * mtrace: (libc)Tracing malloc. |
| * munlockall: (libc)Page Lock Functions. |
| * munlock: (libc)Page Lock Functions. |
| * munmap: (libc)Memory-mapped I/O. |
| * muntrace: (libc)Tracing malloc. |
| * NAME_MAX: (libc)Limits for Files. |
| * nanf: (libc)FP Bit Twiddling. |
| * nan: (libc)FP Bit Twiddling. |
| * NAN: (libc)Infinity and NaN. |
| * nanl: (libc)FP Bit Twiddling. |
| * nanosleep: (libc)Sleeping. |
| * NCCS: (libc)Mode Data Types. |
| * nearbyintf: (libc)Rounding Functions. |
| * nearbyint: (libc)Rounding Functions. |
| * nearbyintl: (libc)Rounding Functions. |
| * nextafterf: (libc)FP Bit Twiddling. |
| * nextafter: (libc)FP Bit Twiddling. |
| * nextafterl: (libc)FP Bit Twiddling. |
| * nexttowardf: (libc)FP Bit Twiddling. |
| * nexttoward: (libc)FP Bit Twiddling. |
| * nexttowardl: (libc)FP Bit Twiddling. |
| * nftw64: (libc)Working with Directory Trees. |
| * nftw: (libc)Working with Directory Trees. |
| * ngettext: (libc)Advanced gettext functions. |
| * NGROUPS_MAX: (libc)General Limits. |
| * nice: (libc)Traditional Scheduling Functions. |
| * nl_langinfo: (libc)The Elegant and Fast Way. |
| * NOFLSH: (libc)Local Modes. |
| * NOKERNINFO: (libc)Local Modes. |
| * nrand48: (libc)SVID Random. |
| * nrand48_r: (libc)SVID Random. |
| * NSIG: (libc)Standard Signals. |
| * ntohl: (libc)Byte Order. |
| * ntohs: (libc)Byte Order. |
| * ntp_adjtime: (libc)High Accuracy Clock. |
| * ntp_gettime: (libc)High Accuracy Clock. |
| * NULL: (libc)Null Pointer Constant. |
| * O_ACCMODE: (libc)Access Modes. |
| * O_APPEND: (libc)Operating Modes. |
| * O_ASYNC: (libc)Operating Modes. |
| * obstack_1grow_fast: (libc)Extra Fast Growing. |
| * obstack_1grow: (libc)Growing Objects. |
| * obstack_alignment_mask: (libc)Obstacks Data Alignment. |
| * obstack_alloc: (libc)Allocation in an Obstack. |
| * obstack_base: (libc)Status of an Obstack. |
| * obstack_blank_fast: (libc)Extra Fast Growing. |
| * obstack_blank: (libc)Growing Objects. |
| * obstack_chunk_size: (libc)Obstack Chunks. |
| * obstack_copy0: (libc)Allocation in an Obstack. |
| * obstack_copy: (libc)Allocation in an Obstack. |
| * obstack_finish: (libc)Growing Objects. |
| * obstack_free: (libc)Freeing Obstack Objects. |
| * obstack_grow0: (libc)Growing Objects. |
| * obstack_grow: (libc)Growing Objects. |
| * obstack_init: (libc)Preparing for Obstacks. |
| * obstack_int_grow_fast: (libc)Extra Fast Growing. |
| * obstack_int_grow: (libc)Growing Objects. |
| * obstack_next_free: (libc)Status of an Obstack. |
| * obstack_object_size: (libc)Growing Objects. |
| * obstack_object_size: (libc)Status of an Obstack. |
| * obstack_printf: (libc)Dynamic Output. |
| * obstack_ptr_grow_fast: (libc)Extra Fast Growing. |
| * obstack_ptr_grow: (libc)Growing Objects. |
| * obstack_room: (libc)Extra Fast Growing. |
| * obstack_vprintf: (libc)Variable Arguments Output. |
| * O_CREAT: (libc)Open-time Flags. |
| * O_EXCL: (libc)Open-time Flags. |
| * O_EXEC: (libc)Access Modes. |
| * O_EXLOCK: (libc)Open-time Flags. |
| * offsetof: (libc)Structure Measurement. |
| * O_FSYNC: (libc)Operating Modes. |
| * O_IGNORE_CTTY: (libc)Open-time Flags. |
| * O_NDELAY: (libc)Operating Modes. |
| * on_exit: (libc)Cleanups on Exit. |
| * ONLCR: (libc)Output Modes. |
| * O_NOATIME: (libc)Operating Modes. |
| * O_NOCTTY: (libc)Open-time Flags. |
| * ONOEOT: (libc)Output Modes. |
| * O_NOLINK: (libc)Open-time Flags. |
| * O_NONBLOCK: (libc)Open-time Flags. |
| * O_NONBLOCK: (libc)Operating Modes. |
| * O_NOTRANS: (libc)Open-time Flags. |
| * open64: (libc)Opening and Closing Files. |
| * opendir: (libc)Opening a Directory. |
| * open: (libc)Opening and Closing Files. |
| * openlog: (libc)openlog. |
| * OPEN_MAX: (libc)General Limits. |
| * open_memstream: (libc)String Streams. |
| * openpty: (libc)Pseudo-Terminal Pairs. |
| * OPOST: (libc)Output Modes. |
| * O_RDONLY: (libc)Access Modes. |
| * O_RDWR: (libc)Access Modes. |
| * O_READ: (libc)Access Modes. |
| * O_SHLOCK: (libc)Open-time Flags. |
| * O_SYNC: (libc)Operating Modes. |
| * O_TRUNC: (libc)Open-time Flags. |
| * O_WRITE: (libc)Access Modes. |
| * O_WRONLY: (libc)Access Modes. |
| * OXTABS: (libc)Output Modes. |
| * PA_FLAG_MASK: (libc)Parsing a Template String. |
| * PARENB: (libc)Control Modes. |
| * PARMRK: (libc)Input Modes. |
| * PARODD: (libc)Control Modes. |
| * parse_printf_format: (libc)Parsing a Template String. |
| * pathconf: (libc)Pathconf. |
| * PATH_MAX: (libc)Limits for Files. |
| * _PATH_UTMP: (libc)Manipulating the Database. |
| * _PATH_WTMP: (libc)Manipulating the Database. |
| * pause: (libc)Using Pause. |
| * pclose: (libc)Pipe to a Subprocess. |
| * PENDIN: (libc)Local Modes. |
| * perror: (libc)Error Messages. |
| * PF_FILE: (libc)Local Namespace Details. |
| * PF_INET6: (libc)Internet Namespace. |
| * PF_INET: (libc)Internet Namespace. |
| * PF_LOCAL: (libc)Local Namespace Details. |
| * PF_UNIX: (libc)Local Namespace Details. |
| * PIPE_BUF: (libc)Limits for Files. |
| * pipe: (libc)Creating a Pipe. |
| * popen: (libc)Pipe to a Subprocess. |
| * _POSIX2_C_DEV: (libc)System Options. |
| * _POSIX2_C_VERSION: (libc)Version Supported. |
| * _POSIX2_FORT_DEV: (libc)System Options. |
| * _POSIX2_FORT_RUN: (libc)System Options. |
| * _POSIX2_LOCALEDEF: (libc)System Options. |
| * _POSIX2_SW_DEV: (libc)System Options. |
| * _POSIX_CHOWN_RESTRICTED: (libc)Options for Files. |
| * _POSIX_JOB_CONTROL: (libc)System Options. |
| * posix_memalign: (libc)Aligned Memory Blocks. |
| * _POSIX_NO_TRUNC: (libc)Options for Files. |
| * _POSIX_SAVED_IDS: (libc)System Options. |
| * _POSIX_VDISABLE: (libc)Options for Files. |
| * _POSIX_VERSION: (libc)Version Supported. |
| * pow10f: (libc)Exponents and Logarithms. |
| * pow10: (libc)Exponents and Logarithms. |
| * pow10l: (libc)Exponents and Logarithms. |
| * powf: (libc)Exponents and Logarithms. |
| * pow: (libc)Exponents and Logarithms. |
| * powl: (libc)Exponents and Logarithms. |
| * __ppc_get_timebase_freq: (libc)PowerPC. |
| * __ppc_get_timebase: (libc)PowerPC. |
| * __ppc_mdoio: (libc)PowerPC. |
| * __ppc_mdoom: (libc)PowerPC. |
| * __ppc_set_ppr_low: (libc)PowerPC. |
| * __ppc_set_ppr_med: (libc)PowerPC. |
| * __ppc_set_ppr_med_low: (libc)PowerPC. |
| * __ppc_yield: (libc)PowerPC. |
| * pread64: (libc)I/O Primitives. |
| * pread: (libc)I/O Primitives. |
| * printf: (libc)Formatted Output Functions. |
| * printf_size_info: (libc)Predefined Printf Handlers. |
| * printf_size: (libc)Predefined Printf Handlers. |
| * psignal: (libc)Signal Messages. |
| * pthread_getattr_default_np: (libc)Default Thread Attributes. |
| * pthread_getspecific: (libc)Thread-specific Data. |
| * pthread_key_create: (libc)Thread-specific Data. |
| * pthread_key_delete: (libc)Thread-specific Data. |
| * pthread_setattr_default_np: (libc)Default Thread Attributes. |
| * pthread_setspecific: (libc)Thread-specific Data. |
| * P_tmpdir: (libc)Temporary Files. |
| * ptsname: (libc)Allocation. |
| * ptsname_r: (libc)Allocation. |
| * putchar: (libc)Simple Output. |
| * putchar_unlocked: (libc)Simple Output. |
| * putc: (libc)Simple Output. |
| * putc_unlocked: (libc)Simple Output. |
| * putenv: (libc)Environment Access. |
| * putpwent: (libc)Writing a User Entry. |
| * puts: (libc)Simple Output. |
| * pututline: (libc)Manipulating the Database. |
| * pututxline: (libc)XPG Functions. |
| * putwchar: (libc)Simple Output. |
| * putwchar_unlocked: (libc)Simple Output. |
| * putwc: (libc)Simple Output. |
| * putwc_unlocked: (libc)Simple Output. |
| * putw: (libc)Simple Output. |
| * pwrite64: (libc)I/O Primitives. |
| * pwrite: (libc)I/O Primitives. |
| * qecvt: (libc)System V Number Conversion. |
| * qecvt_r: (libc)System V Number Conversion. |
| * qfcvt: (libc)System V Number Conversion. |
| * qfcvt_r: (libc)System V Number Conversion. |
| * qgcvt: (libc)System V Number Conversion. |
| * qsort: (libc)Array Sort Function. |
| * raise: (libc)Signaling Yourself. |
| * rand: (libc)ISO Random. |
| * RAND_MAX: (libc)ISO Random. |
| * random: (libc)BSD Random. |
| * random_r: (libc)BSD Random. |
| * rand_r: (libc)ISO Random. |
| * rawmemchr: (libc)Search Functions. |
| * readdir64: (libc)Reading/Closing Directory. |
| * readdir64_r: (libc)Reading/Closing Directory. |
| * readdir: (libc)Reading/Closing Directory. |
| * readdir_r: (libc)Reading/Closing Directory. |
| * read: (libc)I/O Primitives. |
| * readlink: (libc)Symbolic Links. |
| * readv: (libc)Scatter-Gather. |
| * realloc: (libc)Changing Block Size. |
| * realpath: (libc)Symbolic Links. |
| * recvfrom: (libc)Receiving Datagrams. |
| * recv: (libc)Receiving Data. |
| * recvmsg: (libc)Receiving Datagrams. |
| * RE_DUP_MAX: (libc)General Limits. |
| * regcomp: (libc)POSIX Regexp Compilation. |
| * regerror: (libc)Regexp Cleanup. |
| * regexec: (libc)Matching POSIX Regexps. |
| * regfree: (libc)Regexp Cleanup. |
| * register_printf_function: (libc)Registering New Conversions. |
| * remainderf: (libc)Remainder Functions. |
| * remainder: (libc)Remainder Functions. |
| * remainderl: (libc)Remainder Functions. |
| * remove: (libc)Deleting Files. |
| * rename: (libc)Renaming Files. |
| * rewinddir: (libc)Random Access Directory. |
| * rewind: (libc)File Positioning. |
| * rindex: (libc)Search Functions. |
| * rintf: (libc)Rounding Functions. |
| * rint: (libc)Rounding Functions. |
| * rintl: (libc)Rounding Functions. |
| * RLIM_INFINITY: (libc)Limits on Resources. |
| * rmdir: (libc)Deleting Files. |
| * R_OK: (libc)Testing File Access. |
| * roundf: (libc)Rounding Functions. |
| * round: (libc)Rounding Functions. |
| * roundl: (libc)Rounding Functions. |
| * rpmatch: (libc)Yes-or-No Questions. |
| * SA_NOCLDSTOP: (libc)Flags for Sigaction. |
| * SA_ONSTACK: (libc)Flags for Sigaction. |
| * SA_RESTART: (libc)Flags for Sigaction. |
| * sbrk: (libc)Resizing the Data Segment. |
| * scalbf: (libc)Normalization Functions. |
| * scalb: (libc)Normalization Functions. |
| * scalbl: (libc)Normalization Functions. |
| * scalblnf: (libc)Normalization Functions. |
| * scalbln: (libc)Normalization Functions. |
| * scalblnl: (libc)Normalization Functions. |
| * scalbnf: (libc)Normalization Functions. |
| * scalbn: (libc)Normalization Functions. |
| * scalbnl: (libc)Normalization Functions. |
| * scandir64: (libc)Scanning Directory Content. |
| * scandir: (libc)Scanning Directory Content. |
| * scanf: (libc)Formatted Input Functions. |
| * sched_getaffinity: (libc)CPU Affinity. |
| * sched_getparam: (libc)Basic Scheduling Functions. |
| * sched_get_priority_max: (libc)Basic Scheduling Functions. |
| * sched_get_priority_min: (libc)Basic Scheduling Functions. |
| * sched_getscheduler: (libc)Basic Scheduling Functions. |
| * sched_rr_get_interval: (libc)Basic Scheduling Functions. |
| * sched_setaffinity: (libc)CPU Affinity. |
| * sched_setparam: (libc)Basic Scheduling Functions. |
| * sched_setscheduler: (libc)Basic Scheduling Functions. |
| * sched_yield: (libc)Basic Scheduling Functions. |
| * secure_getenv: (libc)Environment Access. |
| * seed48: (libc)SVID Random. |
| * seed48_r: (libc)SVID Random. |
| * SEEK_CUR: (libc)File Positioning. |
| * seekdir: (libc)Random Access Directory. |
| * SEEK_END: (libc)File Positioning. |
| * SEEK_SET: (libc)File Positioning. |
| * select: (libc)Waiting for I/O. |
| * sem_close: (libc)Semaphores. |
| * semctl: (libc)Semaphores. |
| * sem_destroy: (libc)Semaphores. |
| * semget: (libc)Semaphores. |
| * sem_getvalue: (libc)Semaphores. |
| * sem_init: (libc)Semaphores. |
| * sem_open: (libc)Semaphores. |
| * semop: (libc)Semaphores. |
| * sem_post: (libc)Semaphores. |
| * semtimedop: (libc)Semaphores. |
| * sem_timedwait: (libc)Semaphores. |
| * sem_trywait: (libc)Semaphores. |
| * sem_unlink: (libc)Semaphores. |
| * sem_wait: (libc)Semaphores. |
| * send: (libc)Sending Data. |
| * sendmsg: (libc)Receiving Datagrams. |
| * sendto: (libc)Sending Datagrams. |
| * setbuffer: (libc)Controlling Buffering. |
| * setbuf: (libc)Controlling Buffering. |
| * setcontext: (libc)System V contexts. |
| * setdomainname: (libc)Host Identification. |
| * setegid: (libc)Setting Groups. |
| * setenv: (libc)Environment Access. |
| * seteuid: (libc)Setting User ID. |
| * setfsent: (libc)fstab. |
| * setgid: (libc)Setting Groups. |
| * setgrent: (libc)Scanning All Groups. |
| * setgroups: (libc)Setting Groups. |
| * sethostent: (libc)Host Names. |
| * sethostid: (libc)Host Identification. |
| * sethostname: (libc)Host Identification. |
| * setitimer: (libc)Setting an Alarm. |
| * setjmp: (libc)Non-Local Details. |
| * setkey: (libc)DES Encryption. |
| * setkey_r: (libc)DES Encryption. |
| * setlinebuf: (libc)Controlling Buffering. |
| * setlocale: (libc)Setting the Locale. |
| * setlogmask: (libc)setlogmask. |
| * setmntent: (libc)mtab. |
| * setnetent: (libc)Networks Database. |
| * setnetgrent: (libc)Lookup Netgroup. |
| * setpgid: (libc)Process Group Functions. |
| * setpgrp: (libc)Process Group Functions. |
| * setpriority: (libc)Traditional Scheduling Functions. |
| * setprotoent: (libc)Protocols Database. |
| * setpwent: (libc)Scanning All Users. |
| * setregid: (libc)Setting Groups. |
| * setreuid: (libc)Setting User ID. |
| * setrlimit64: (libc)Limits on Resources. |
| * setrlimit: (libc)Limits on Resources. |
| * setservent: (libc)Services Database. |
| * setsid: (libc)Process Group Functions. |
| * setsockopt: (libc)Socket Option Functions. |
| * setstate: (libc)BSD Random. |
| * setstate_r: (libc)BSD Random. |
| * settimeofday: (libc)High-Resolution Calendar. |
| * setuid: (libc)Setting User ID. |
| * setutent: (libc)Manipulating the Database. |
| * setutxent: (libc)XPG Functions. |
| * setvbuf: (libc)Controlling Buffering. |
| * shm_open: (libc)Memory-mapped I/O. |
| * shm_unlink: (libc)Memory-mapped I/O. |
| * shutdown: (libc)Closing a Socket. |
| * S_IFMT: (libc)Testing File Type. |
| * SIGABRT: (libc)Program Error Signals. |
| * sigaction: (libc)Advanced Signal Handling. |
| * sigaddset: (libc)Signal Sets. |
| * SIGALRM: (libc)Alarm Signals. |
| * sigaltstack: (libc)Signal Stack. |
| * sigblock: (libc)BSD Signal Handling. |
| * SIGBUS: (libc)Program Error Signals. |
| * SIGCHLD: (libc)Job Control Signals. |
| * SIGCLD: (libc)Job Control Signals. |
| * SIGCONT: (libc)Job Control Signals. |
| * sigdelset: (libc)Signal Sets. |
| * sigemptyset: (libc)Signal Sets. |
| * SIGEMT: (libc)Program Error Signals. |
| * SIG_ERR: (libc)Basic Signal Handling. |
| * sigfillset: (libc)Signal Sets. |
| * SIGFPE: (libc)Program Error Signals. |
| * SIGHUP: (libc)Termination Signals. |
| * SIGILL: (libc)Program Error Signals. |
| * SIGINFO: (libc)Miscellaneous Signals. |
| * siginterrupt: (libc)BSD Signal Handling. |
| * SIGINT: (libc)Termination Signals. |
| * SIGIO: (libc)Asynchronous I/O Signals. |
| * SIGIOT: (libc)Program Error Signals. |
| * sigismember: (libc)Signal Sets. |
| * SIGKILL: (libc)Termination Signals. |
| * siglongjmp: (libc)Non-Local Exits and Signals. |
| * SIGLOST: (libc)Operation Error Signals. |
| * sigmask: (libc)BSD Signal Handling. |
| * signal: (libc)Basic Signal Handling. |
| * signbit: (libc)FP Bit Twiddling. |
| * significandf: (libc)Normalization Functions. |
| * significand: (libc)Normalization Functions. |
| * significandl: (libc)Normalization Functions. |
| * sigpause: (libc)BSD Signal Handling. |
| * sigpending: (libc)Checking for Pending Signals. |
| * SIGPIPE: (libc)Operation Error Signals. |
| * SIGPOLL: (libc)Asynchronous I/O Signals. |
| * sigprocmask: (libc)Process Signal Mask. |
| * SIGPROF: (libc)Alarm Signals. |
| * SIGQUIT: (libc)Termination Signals. |
| * SIGSEGV: (libc)Program Error Signals. |
| * sigsetjmp: (libc)Non-Local Exits and Signals. |
| * sigsetmask: (libc)BSD Signal Handling. |
| * sigstack: (libc)Signal Stack. |
| * SIGSTOP: (libc)Job Control Signals. |
| * sigsuspend: (libc)Sigsuspend. |
| * SIGSYS: (libc)Program Error Signals. |
| * SIGTERM: (libc)Termination Signals. |
| * SIGTRAP: (libc)Program Error Signals. |
| * SIGTSTP: (libc)Job Control Signals. |
| * SIGTTIN: (libc)Job Control Signals. |
| * SIGTTOU: (libc)Job Control Signals. |
| * SIGURG: (libc)Asynchronous I/O Signals. |
| * SIGUSR1: (libc)Miscellaneous Signals. |
| * SIGUSR2: (libc)Miscellaneous Signals. |
| * SIGVTALRM: (libc)Alarm Signals. |
| * SIGWINCH: (libc)Miscellaneous Signals. |
| * SIGXCPU: (libc)Operation Error Signals. |
| * SIGXFSZ: (libc)Operation Error Signals. |
| * sincosf: (libc)Trig Functions. |
| * sincos: (libc)Trig Functions. |
| * sincosl: (libc)Trig Functions. |
| * sinf: (libc)Trig Functions. |
| * sinhf: (libc)Hyperbolic Functions. |
| * sinh: (libc)Hyperbolic Functions. |
| * sinhl: (libc)Hyperbolic Functions. |
| * sin: (libc)Trig Functions. |
| * sinl: (libc)Trig Functions. |
| * S_ISBLK: (libc)Testing File Type. |
| * S_ISCHR: (libc)Testing File Type. |
| * S_ISDIR: (libc)Testing File Type. |
| * S_ISFIFO: (libc)Testing File Type. |
| * S_ISLNK: (libc)Testing File Type. |
| * S_ISREG: (libc)Testing File Type. |
| * S_ISSOCK: (libc)Testing File Type. |
| * sleep: (libc)Sleeping. |
| * snprintf: (libc)Formatted Output Functions. |
| * SOCK_DGRAM: (libc)Communication Styles. |
| * socket: (libc)Creating a Socket. |
| * socketpair: (libc)Socket Pairs. |
| * SOCK_RAW: (libc)Communication Styles. |
| * SOCK_RDM: (libc)Communication Styles. |
| * SOCK_SEQPACKET: (libc)Communication Styles. |
| * SOCK_STREAM: (libc)Communication Styles. |
| * SOL_SOCKET: (libc)Socket-Level Options. |
| * sprintf: (libc)Formatted Output Functions. |
| * sqrtf: (libc)Exponents and Logarithms. |
| * sqrt: (libc)Exponents and Logarithms. |
| * sqrtl: (libc)Exponents and Logarithms. |
| * srand48: (libc)SVID Random. |
| * srand48_r: (libc)SVID Random. |
| * srand: (libc)ISO Random. |
| * srandom: (libc)BSD Random. |
| * srandom_r: (libc)BSD Random. |
| * sscanf: (libc)Formatted Input Functions. |
| * ssignal: (libc)Basic Signal Handling. |
| * SSIZE_MAX: (libc)General Limits. |
| * stat64: (libc)Reading Attributes. |
| * stat: (libc)Reading Attributes. |
| * stime: (libc)Simple Calendar Time. |
| * stpcpy: (libc)Copying and Concatenation. |
| * stpncpy: (libc)Copying and Concatenation. |
| * strcasecmp: (libc)String/Array Comparison. |
| * strcasestr: (libc)Search Functions. |
| * strcat: (libc)Copying and Concatenation. |
| * strchr: (libc)Search Functions. |
| * strchrnul: (libc)Search Functions. |
| * strcmp: (libc)String/Array Comparison. |
| * strcoll: (libc)Collation Functions. |
| * strcpy: (libc)Copying and Concatenation. |
| * strcspn: (libc)Search Functions. |
| * strdupa: (libc)Copying and Concatenation. |
| * strdup: (libc)Copying and Concatenation. |
| * STREAM_MAX: (libc)General Limits. |
| * strerror: (libc)Error Messages. |
| * strerror_r: (libc)Error Messages. |
| * strfmon: (libc)Formatting Numbers. |
| * strfry: (libc)strfry. |
| * strftime: (libc)Formatting Calendar Time. |
| * strlen: (libc)String Length. |
| * strncasecmp: (libc)String/Array Comparison. |
| * strncat: (libc)Copying and Concatenation. |
| * strncmp: (libc)String/Array Comparison. |
| * strncpy: (libc)Copying and Concatenation. |
| * strndupa: (libc)Copying and Concatenation. |
| * strndup: (libc)Copying and Concatenation. |
| * strnlen: (libc)String Length. |
| * strpbrk: (libc)Search Functions. |
| * strptime: (libc)Low-Level Time String Parsing. |
| * strrchr: (libc)Search Functions. |
| * strsep: (libc)Finding Tokens in a String. |
| * strsignal: (libc)Signal Messages. |
| * strspn: (libc)Search Functions. |
| * strstr: (libc)Search Functions. |
| * strtod: (libc)Parsing of Floats. |
| * strtof: (libc)Parsing of Floats. |
| * strtoimax: (libc)Parsing of Integers. |
| * strtok: (libc)Finding Tokens in a String. |
| * strtok_r: (libc)Finding Tokens in a String. |
| * strtold: (libc)Parsing of Floats. |
| * strtol: (libc)Parsing of Integers. |
| * strtoll: (libc)Parsing of Integers. |
| * strtoq: (libc)Parsing of Integers. |
| * strtoul: (libc)Parsing of Integers. |
| * strtoull: (libc)Parsing of Integers. |
| * strtoumax: (libc)Parsing of Integers. |
| * strtouq: (libc)Parsing of Integers. |
| * strverscmp: (libc)String/Array Comparison. |
| * strxfrm: (libc)Collation Functions. |
| * stty: (libc)BSD Terminal Modes. |
| * S_TYPEISMQ: (libc)Testing File Type. |
| * S_TYPEISSEM: (libc)Testing File Type. |
| * S_TYPEISSHM: (libc)Testing File Type. |
| * SUN_LEN: (libc)Local Namespace Details. |
| * swapcontext: (libc)System V contexts. |
| * swprintf: (libc)Formatted Output Functions. |
| * swscanf: (libc)Formatted Input Functions. |
| * symlink: (libc)Symbolic Links. |
| * sync: (libc)Synchronizing I/O. |
| * syscall: (libc)System Calls. |
| * sysconf: (libc)Sysconf Definition. |
| * sysctl: (libc)System Parameters. |
| * syslog: (libc)syslog; vsyslog. |
| * system: (libc)Running a Command. |
| * sysv_signal: (libc)Basic Signal Handling. |
| * tanf: (libc)Trig Functions. |
| * tanhf: (libc)Hyperbolic Functions. |
| * tanh: (libc)Hyperbolic Functions. |
| * tanhl: (libc)Hyperbolic Functions. |
| * tan: (libc)Trig Functions. |
| * tanl: (libc)Trig Functions. |
| * tcdrain: (libc)Line Control. |
| * tcflow: (libc)Line Control. |
| * tcflush: (libc)Line Control. |
| * tcgetattr: (libc)Mode Functions. |
| * tcgetpgrp: (libc)Terminal Access Functions. |
| * tcgetsid: (libc)Terminal Access Functions. |
| * tcsendbreak: (libc)Line Control. |
| * tcsetattr: (libc)Mode Functions. |
| * tcsetpgrp: (libc)Terminal Access Functions. |
| * tdelete: (libc)Tree Search Function. |
| * tdestroy: (libc)Tree Search Function. |
| * telldir: (libc)Random Access Directory. |
| * tempnam: (libc)Temporary Files. |
| * textdomain: (libc)Locating gettext catalog. |
| * tfind: (libc)Tree Search Function. |
| * tgammaf: (libc)Special Functions. |
| * tgamma: (libc)Special Functions. |
| * tgammal: (libc)Special Functions. |
| * timegm: (libc)Broken-down Time. |
| * time: (libc)Simple Calendar Time. |
| * timelocal: (libc)Broken-down Time. |
| * times: (libc)Processor Time. |
| * tmpfile64: (libc)Temporary Files. |
| * tmpfile: (libc)Temporary Files. |
| * TMP_MAX: (libc)Temporary Files. |
| * tmpnam: (libc)Temporary Files. |
| * tmpnam_r: (libc)Temporary Files. |
| * toascii: (libc)Case Conversion. |
| * _tolower: (libc)Case Conversion. |
| * tolower: (libc)Case Conversion. |
| * TOSTOP: (libc)Local Modes. |
| * _toupper: (libc)Case Conversion. |
| * toupper: (libc)Case Conversion. |
| * towctrans: (libc)Wide Character Case Conversion. |
| * towlower: (libc)Wide Character Case Conversion. |
| * towupper: (libc)Wide Character Case Conversion. |
| * truncate64: (libc)File Size. |
| * truncate: (libc)File Size. |
| * truncf: (libc)Rounding Functions. |
| * trunc: (libc)Rounding Functions. |
| * truncl: (libc)Rounding Functions. |
| * tsearch: (libc)Tree Search Function. |
| * ttyname: (libc)Is It a Terminal. |
| * ttyname_r: (libc)Is It a Terminal. |
| * twalk: (libc)Tree Search Function. |
| * TZNAME_MAX: (libc)General Limits. |
| * tzset: (libc)Time Zone Functions. |
| * ulimit: (libc)Limits on Resources. |
| * umask: (libc)Setting Permissions. |
| * umount2: (libc)Mount-Unmount-Remount. |
| * umount: (libc)Mount-Unmount-Remount. |
| * uname: (libc)Platform Type. |
| * ungetc: (libc)How Unread. |
| * ungetwc: (libc)How Unread. |
| * unlink: (libc)Deleting Files. |
| * unlockpt: (libc)Allocation. |
| * unsetenv: (libc)Environment Access. |
| * updwtmp: (libc)Manipulating the Database. |
| * utime: (libc)File Times. |
| * utimes: (libc)File Times. |
| * utmpname: (libc)Manipulating the Database. |
| * utmpxname: (libc)XPG Functions. |
| * va_arg: (libc)Argument Macros. |
| * __va_copy: (libc)Argument Macros. |
| * va_copy: (libc)Argument Macros. |
| * va_end: (libc)Argument Macros. |
| * valloc: (libc)Aligned Memory Blocks. |
| * vasprintf: (libc)Variable Arguments Output. |
| * va_start: (libc)Argument Macros. |
| * VDISCARD: (libc)Other Special. |
| * VDSUSP: (libc)Signal Characters. |
| * VEOF: (libc)Editing Characters. |
| * VEOL2: (libc)Editing Characters. |
| * VEOL: (libc)Editing Characters. |
| * VERASE: (libc)Editing Characters. |
| * verr: (libc)Error Messages. |
| * verrx: (libc)Error Messages. |
| * versionsort64: (libc)Scanning Directory Content. |
| * versionsort: (libc)Scanning Directory Content. |
| * vfork: (libc)Creating a Process. |
| * vfprintf: (libc)Variable Arguments Output. |
| * vfscanf: (libc)Variable Arguments Input. |
| * vfwprintf: (libc)Variable Arguments Output. |
| * vfwscanf: (libc)Variable Arguments Input. |
| * VINTR: (libc)Signal Characters. |
| * VKILL: (libc)Editing Characters. |
| * vlimit: (libc)Limits on Resources. |
| * VLNEXT: (libc)Other Special. |
| * VMIN: (libc)Noncanonical Input. |
| * vprintf: (libc)Variable Arguments Output. |
| * VQUIT: (libc)Signal Characters. |
| * VREPRINT: (libc)Editing Characters. |
| * vscanf: (libc)Variable Arguments Input. |
| * vsnprintf: (libc)Variable Arguments Output. |
| * vsprintf: (libc)Variable Arguments Output. |
| * vsscanf: (libc)Variable Arguments Input. |
| * VSTART: (libc)Start/Stop Characters. |
| * VSTATUS: (libc)Other Special. |
| * VSTOP: (libc)Start/Stop Characters. |
| * VSUSP: (libc)Signal Characters. |
| * vswprintf: (libc)Variable Arguments Output. |
| * vswscanf: (libc)Variable Arguments Input. |
| * vsyslog: (libc)syslog; vsyslog. |
| * VTIME: (libc)Noncanonical Input. |
| * vtimes: (libc)Resource Usage. |
| * vwarn: (libc)Error Messages. |
| * vwarnx: (libc)Error Messages. |
| * VWERASE: (libc)Editing Characters. |
| * vwprintf: (libc)Variable Arguments Output. |
| * vwscanf: (libc)Variable Arguments Input. |
| * wait3: (libc)BSD Wait Functions. |
| * wait4: (libc)Process Completion. |
| * wait: (libc)Process Completion. |
| * waitpid: (libc)Process Completion. |
| * warn: (libc)Error Messages. |
| * warnx: (libc)Error Messages. |
| * WCHAR_MAX: (libc)Extended Char Intro. |
| * WCHAR_MIN: (libc)Extended Char Intro. |
| * WCOREDUMP: (libc)Process Completion Status. |
| * wcpcpy: (libc)Copying and Concatenation. |
| * wcpncpy: (libc)Copying and Concatenation. |
| * wcrtomb: (libc)Converting a Character. |
| * wcscasecmp: (libc)String/Array Comparison. |
| * wcscat: (libc)Copying and Concatenation. |
| * wcschr: (libc)Search Functions. |
| * wcschrnul: (libc)Search Functions. |
| * wcscmp: (libc)String/Array Comparison. |
| * wcscoll: (libc)Collation Functions. |
| * wcscpy: (libc)Copying and Concatenation. |
| * wcscspn: (libc)Search Functions. |
| * wcsdup: (libc)Copying and Concatenation. |
| * wcsftime: (libc)Formatting Calendar Time. |
| * wcslen: (libc)String Length. |
| * wcsncasecmp: (libc)String/Array Comparison. |
| * wcsncat: (libc)Copying and Concatenation. |
| * wcsncmp: (libc)String/Array Comparison. |
| * wcsncpy: (libc)Copying and Concatenation. |
| * wcsnlen: (libc)String Length. |
| * wcsnrtombs: (libc)Converting Strings. |
| * wcspbrk: (libc)Search Functions. |
| * wcsrchr: (libc)Search Functions. |
| * wcsrtombs: (libc)Converting Strings. |
| * wcsspn: (libc)Search Functions. |
| * wcsstr: (libc)Search Functions. |
| * wcstod: (libc)Parsing of Floats. |
| * wcstof: (libc)Parsing of Floats. |
| * wcstoimax: (libc)Parsing of Integers. |
| * wcstok: (libc)Finding Tokens in a String. |
| * wcstold: (libc)Parsing of Floats. |
| * wcstol: (libc)Parsing of Integers. |
| * wcstoll: (libc)Parsing of Integers. |
| * wcstombs: (libc)Non-reentrant String Conversion. |
| * wcstoq: (libc)Parsing of Integers. |
| * wcstoul: (libc)Parsing of Integers. |
| * wcstoull: (libc)Parsing of Integers. |
| * wcstoumax: (libc)Parsing of Integers. |
| * wcstouq: (libc)Parsing of Integers. |
| * wcswcs: (libc)Search Functions. |
| * wcsxfrm: (libc)Collation Functions. |
| * wctob: (libc)Converting a Character. |
| * wctomb: (libc)Non-reentrant Character Conversion. |
| * wctrans: (libc)Wide Character Case Conversion. |
| * wctype: (libc)Classification of Wide Characters. |
| * WEOF: (libc)EOF and Errors. |
| * WEOF: (libc)Extended Char Intro. |
| * WEXITSTATUS: (libc)Process Completion Status. |
| * WIFEXITED: (libc)Process Completion Status. |
| * WIFSIGNALED: (libc)Process Completion Status. |
| * WIFSTOPPED: (libc)Process Completion Status. |
| * wmemchr: (libc)Search Functions. |
| * wmemcmp: (libc)String/Array Comparison. |
| * wmemcpy: (libc)Copying and Concatenation. |
| * wmemmove: (libc)Copying and Concatenation. |
| * wmempcpy: (libc)Copying and Concatenation. |
| * wmemset: (libc)Copying and Concatenation. |
| * W_OK: (libc)Testing File Access. |
| * wordexp: (libc)Calling Wordexp. |
| * wordfree: (libc)Calling Wordexp. |
| * wprintf: (libc)Formatted Output Functions. |
| * write: (libc)I/O Primitives. |
| * writev: (libc)Scatter-Gather. |
| * wscanf: (libc)Formatted Input Functions. |
| * WSTOPSIG: (libc)Process Completion Status. |
| * WTERMSIG: (libc)Process Completion Status. |
| * X_OK: (libc)Testing File Access. |
| * y0f: (libc)Special Functions. |
| * y0: (libc)Special Functions. |
| * y0l: (libc)Special Functions. |
| * y1f: (libc)Special Functions. |
| * y1: (libc)Special Functions. |
| * y1l: (libc)Special Functions. |
| * ynf: (libc)Special Functions. |
| * yn: (libc)Special Functions. |
| * ynl: (libc)Special Functions. |
| END-INFO-DIR-ENTRY |
| |
| |
| File: libc.info, Node: Installation, Next: Maintenance, Prev: Library Summary, Up: Top |
| |
| Appendix C Installing the GNU C Library |
| *************************************** |
| |
| Before you do anything else, you should read the FAQ at |
| <http://sourceware.org/glibc/wiki/FAQ>. It answers common questions and |
| describes problems you may experience with compilation and installation. |
| |
| Features can be added to the GNU C Library via "add-on" bundles. |
| These are separate tar files, which you unpack into the top level of the |
| source tree. Then you give 'configure' the '--enable-add-ons' option to |
| activate them, and they will be compiled into the library. |
| |
| You will need recent versions of several GNU tools: definitely GCC |
| and GNU Make, and possibly others. *Note Tools for Compilation::, |
| below. |
| |
| * Menu: |
| |
| * Configuring and compiling:: How to compile and test GNU libc. |
| * Running make install:: How to install it once you've got it |
| compiled. |
| * Tools for Compilation:: You'll need these first. |
| * Linux:: Specific advice for GNU/Linux systems. |
| * Reporting Bugs:: So they'll get fixed. |
| |
| |
| File: libc.info, Node: Configuring and compiling, Next: Running make install, Up: Installation |
| |
| C.1 Configuring and compiling the GNU C Library |
| =============================================== |
| |
| The GNU C Library cannot be compiled in the source directory. You must |
| build it in a separate build directory. For example, if you have |
| unpacked the GNU C Library sources in '/src/gnu/glibc-VERSION', create a |
| directory '/src/gnu/glibc-build' to put the object files in. This |
| allows removing the whole build directory in case an error occurs, which |
| is the safest way to get a fresh start and should always be done. |
| |
| From your object directory, run the shell script 'configure' located |
| at the top level of the source tree. In the scenario above, you'd type |
| |
| $ ../glibc-VERSION/configure ARGS... |
| |
| Please note that even though you're building in a separate build |
| directory, the compilation may need to create or modify files and |
| directories in the source directory. |
| |
| 'configure' takes many options, but the only one that is usually |
| mandatory is '--prefix'. This option tells 'configure' where you want |
| the GNU C Library installed. This defaults to '/usr/local', but the |
| normal setting to install as the standard system library is |
| '--prefix=/usr' for GNU/Linux systems and '--prefix=' (an empty prefix) |
| for GNU/Hurd systems. |
| |
| It may also be useful to set the CC and CFLAGS variables in the |
| environment when running 'configure'. CC selects the C compiler that |
| will be used, and CFLAGS sets optimization options for the compiler. |
| |
| The following list describes all of the available options for |
| 'configure': |
| |
| '--prefix=DIRECTORY' |
| Install machine-independent data files in subdirectories of |
| 'DIRECTORY'. The default is to install in '/usr/local'. |
| |
| '--exec-prefix=DIRECTORY' |
| Install the library and other machine-dependent files in |
| subdirectories of 'DIRECTORY'. The default is to the '--prefix' |
| directory if that option is specified, or '/usr/local' otherwise. |
| |
| '--with-headers=DIRECTORY' |
| Look for kernel header files in DIRECTORY, not '/usr/include'. The |
| GNU C Library needs information from the kernel's header files |
| describing the interface to the kernel. The GNU C Library will |
| normally look in '/usr/include' for them, but if you specify this |
| option, it will look in DIRECTORY instead. |
| |
| This option is primarily of use on a system where the headers in |
| '/usr/include' come from an older version of the GNU C Library. |
| Conflicts can occasionally happen in this case. You can also use |
| this option if you want to compile the GNU C Library with a newer |
| set of kernel headers than the ones found in '/usr/include'. |
| |
| '--enable-add-ons[=LIST]' |
| Specify add-on packages to include in the build. If this option is |
| specified with no list, it enables all the add-on packages it finds |
| in the main source directory; this is the default behavior. You |
| may specify an explicit list of add-ons to use in LIST, separated |
| by spaces or commas (if you use spaces, remember to quote them from |
| the shell). Each add-on in LIST can be an absolute directory name |
| or can be a directory name relative to the main source directory, |
| or relative to the build directory (that is, the current working |
| directory). For example, |
| '--enable-add-ons=nptl,../glibc-libidn-VERSION'. |
| |
| '--enable-kernel=VERSION' |
| This option is currently only useful on GNU/Linux systems. The |
| VERSION parameter should have the form X.Y.Z and describes the |
| smallest version of the Linux kernel the generated library is |
| expected to support. The higher the VERSION number is, the less |
| compatibility code is added, and the faster the code gets. |
| |
| '--with-binutils=DIRECTORY' |
| Use the binutils (assembler and linker) in 'DIRECTORY', not the |
| ones the C compiler would default to. You can use this option if |
| the default binutils on your system cannot deal with all the |
| constructs in the GNU C Library. In that case, 'configure' will |
| detect the problem and suppress these constructs, so that the |
| library will still be usable, but functionality may be lost--for |
| example, you can't build a shared libc with old binutils. |
| |
| '--without-fp' |
| Use this option if your computer lacks hardware floating-point |
| support and your operating system does not emulate an FPU. |
| |
| '--disable-shared' |
| Don't build shared libraries even if it is possible. Not all |
| systems support shared libraries; you need ELF support and |
| (currently) the GNU linker. |
| |
| '--disable-profile' |
| Don't build libraries with profiling information. You may want to |
| use this option if you don't plan to do profiling. |
| |
| '--enable-static-nss' |
| Compile static versions of the NSS (Name Service Switch) libraries. |
| This is not recommended because it defeats the purpose of NSS; a |
| program linked statically with the NSS libraries cannot be |
| dynamically reconfigured to use a different name database. |
| |
| '--without-tls' |
| By default the C library is built with support for thread-local |
| storage if the used tools support it. By using '--without-tls' |
| this can be prevented though there generally is no reason since it |
| creates compatibility problems. |
| |
| '--enable-hardcoded-path-in-tests' |
| By default, dynamic tests are linked to run with the installed C |
| library. This option hardcodes the newly built C library path in |
| dynamic tests so that they can be invoked directly. |
| |
| '--enable-lock-elision=yes' |
| Enable lock elision for pthread mutexes by default. |
| |
| '--enable-pt_chown' |
| The file 'pt_chown' is a helper binary for 'grantpt' (*note |
| Pseudo-Terminals: Allocation.) that is installed setuid root to fix |
| up pseudo-terminal ownership. It is not built by default because |
| systems using the Linux kernel are commonly built with the 'devpts' |
| filesystem enabled and mounted at '/dev/pts', which manages |
| pseudo-terminal ownership automatically. By using |
| '--enable-pt_chown', you may build 'pt_chown' and install it setuid |
| and owned by 'root'. The use of 'pt_chown' introduces additional |
| security risks to the system and you should enable it only if you |
| understand and accept those risks. |
| |
| '--disable-werror' |
| By default, the GNU C Library is built with '-Werror'. If you wish |
| to build without this option (for example, if building with a newer |
| version of GCC than this version of the GNU C Library was tested |
| with, so new warnings cause the build with '-Werror' to fail), you |
| can configure with '--disable-werror'. |
| |
| '--build=BUILD-SYSTEM' |
| '--host=HOST-SYSTEM' |
| These options are for cross-compiling. If you specify both options |
| and BUILD-SYSTEM is different from HOST-SYSTEM, 'configure' will |
| prepare to cross-compile the GNU C Library from BUILD-SYSTEM to be |
| used on HOST-SYSTEM. You'll probably need the '--with-headers' |
| option too, and you may have to override CONFIGURE's selection of |
| the compiler and/or binutils. |
| |
| If you only specify '--host', 'configure' will prepare for a native |
| compile but use what you specify instead of guessing what your |
| system is. This is most useful to change the CPU submodel. For |
| example, if 'configure' guesses your machine as 'i686-pc-linux-gnu' |
| but you want to compile a library for 586es, give |
| '--host=i586-pc-linux-gnu' or just '--host=i586-linux' and add the |
| appropriate compiler flags ('-mcpu=i586' will do the trick) to |
| CFLAGS. |
| |
| If you specify just '--build', 'configure' will get confused. |
| |
| '--with-pkgversion=VERSION' |
| Specify a description, possibly including a build number or build |
| date, of the binaries being built, to be included in '--version' |
| output from programs installed with the GNU C Library. For |
| example, '--with-pkgversion='FooBar GNU/Linux glibc build 123''. |
| The default value is 'GNU libc'. |
| |
| '--with-bugurl=URL' |
| Specify the URL that users should visit if they wish to report a |
| bug, to be included in '--help' output from programs installed with |
| the GNU C Library. The default value refers to the main |
| bug-reporting information for the GNU C Library. |
| |
| To build the library and related programs, type 'make'. This will |
| produce a lot of output, some of which may look like errors from 'make' |
| but isn't. Look for error messages from 'make' containing '***'. Those |
| indicate that something is seriously wrong. |
| |
| The compilation process can take a long time, depending on the |
| configuration and the speed of your machine. Some complex modules may |
| take a very long time to compile, as much as several minutes on slower |
| machines. Do not panic if the compiler appears to hang. |
| |
| If you want to run a parallel make, simply pass the '-j' option with |
| an appropriate numeric parameter to 'make'. You need a recent GNU |
| 'make' version, though. |
| |
| To build and run test programs which exercise some of the library |
| facilities, type 'make check'. If it does not complete successfully, do |
| not use the built library, and report a bug after verifying that the |
| problem is not already known. *Note Reporting Bugs::, for instructions |
| on reporting bugs. Note that some of the tests assume they are not |
| being run by 'root'. We recommend you compile and test the GNU C |
| Library as an unprivileged user. |
| |
| Before reporting bugs make sure there is no problem with your system. |
| The tests (and later installation) use some pre-existing files of the |
| system such as '/etc/passwd', '/etc/nsswitch.conf' and others. These |
| files must all contain correct and sensible content. |
| |
| Normally, 'make check' will run all the tests before reporting all |
| problems found and exiting with error status if any problems occurred. |
| You can specify 'stop-on-test-failure=y' when running 'make check' to |
| make the test run stop and exit with an error status immediately when a |
| failure occurs. |
| |
| To format the 'GNU C Library Reference Manual' for printing, type |
| 'make dvi'. You need a working TeX installation to do this. The |
| distribution builds the on-line formatted version of the manual, as Info |
| files, as part of the build process. You can build them manually with |
| 'make info'. |
| |
| The library has a number of special-purpose configuration parameters |
| which you can find in 'Makeconfig'. These can be overwritten with the |
| file 'configparms'. To change them, create a 'configparms' in your |
| build directory and add values as appropriate for your system. The file |
| is included and parsed by 'make' and has to follow the conventions for |
| makefiles. |
| |
| It is easy to configure the GNU C Library for cross-compilation by |
| setting a few variables in 'configparms'. Set 'CC' to the |
| cross-compiler for the target you configured the library for; it is |
| important to use this same 'CC' value when running 'configure', like |
| this: 'CC=TARGET-gcc configure TARGET'. Set 'BUILD_CC' to the compiler |
| to use for programs run on the build system as part of compiling the |
| library. You may need to set 'AR' to cross-compiling versions of 'ar' |
| if the native tools are not configured to work with object files for the |
| target you configured for. When cross-compiling the GNU C Library, it |
| may be tested using 'make check |
| test-wrapper="SRCDIR/scripts/cross-test-ssh.sh HOSTNAME"', where SRCDIR |
| is the absolute directory name for the main source directory and |
| HOSTNAME is the host name of a system that can run the newly built |
| binaries of the GNU C Library. The source and build directories must be |
| visible at the same locations on both the build system and HOSTNAME. |
| |
| In general, when testing the GNU C Library, 'test-wrapper' may be set |
| to the name and arguments of any program to run newly built binaries. |
| This program must preserve the arguments to the binary being run, its |
| working directory and the standard input, output and error file |
| descriptors. If 'TEST-WRAPPER env' will not work to run a program with |
| environment variables set, then 'test-wrapper-env' must be set to a |
| program that runs a newly built program with environment variable |
| assignments in effect, those assignments being specified as 'VAR=VALUE' |
| before the name of the program to be run. If multiple assignments to |
| the same variable are specified, the last assignment specified must take |
| precedence. |
| |
| |
| File: libc.info, Node: Running make install, Next: Tools for Compilation, Prev: Configuring and compiling, Up: Installation |
| |
| C.2 Installing the C Library |
| ============================ |
| |
| To install the library and its header files, and the Info files of the |
| manual, type 'make install'. This will build things, if necessary, |
| before installing them; however, you should still compile everything |
| first. If you are installing the GNU C Library as your primary C |
| library, we recommend that you shut the system down to single-user mode |
| first, and reboot afterward. This minimizes the risk of breaking things |
| when the library changes out from underneath. |
| |
| 'make install' will do the entire job of upgrading from a previous |
| installation of the GNU C Library version 2.x. There may sometimes be |
| headers left behind from the previous installation, but those are |
| generally harmless. If you want to avoid leaving headers behind you can |
| do things in the following order. |
| |
| You must first build the library ('make'), optionally check it ('make |
| check'), switch the include directories and then install ('make |
| install'). The steps must be done in this order. Not moving the |
| directory before install will result in an unusable mixture of header |
| files from both libraries, but configuring, building, and checking the |
| library requires the ability to compile and run programs against the old |
| library. The new '/usr/include', after switching the include |
| directories and before installing the library should contain the Linux |
| headers, but nothing else. If you do this, you will need to restore any |
| headers from libraries other than the GNU C Library yourself after |
| installing the library. |
| |
| You can install the GNU C Library somewhere other than where you |
| configured it to go by setting the 'install_root' variable on the |
| command line for 'make install'. The value of this variable is |
| prepended to all the paths for installation. This is useful when |
| setting up a chroot environment or preparing a binary distribution. The |
| directory should be specified with an absolute file name. |
| |
| The GNU C Library includes a daemon called 'nscd', which you may or |
| may not want to run. 'nscd' caches name service lookups; it can |
| dramatically improve performance with NIS+, and may help with DNS as |
| well. |
| |
| One auxiliary program, '/usr/libexec/pt_chown', is installed setuid |
| 'root' if the '--enable-pt_chown' configuration option is used. This |
| program is invoked by the 'grantpt' function; it sets the permissions on |
| a pseudoterminal so it can be used by the calling process. If you are |
| using a Linux kernel with the 'devpts' filesystem enabled and mounted at |
| '/dev/pts', you don't need this program. |
| |
| After installation you might want to configure the timezone and |
| locale installation of your system. The GNU C Library comes with a |
| locale database which gets configured with 'localedef'. For example, to |
| set up a German locale with name 'de_DE', simply issue the command |
| 'localedef -i de_DE -f ISO-8859-1 de_DE'. To configure all locales that |
| are supported by the GNU C Library, you can issue from your build |
| directory the command 'make localedata/install-locales'. |
| |
| To configure the locally used timezone, set the 'TZ' environment |
| variable. The script 'tzselect' helps you to select the right value. |
| As an example, for Germany, 'tzselect' would tell you to use |
| 'TZ='Europe/Berlin''. For a system wide installation (the given paths |
| are for an installation with '--prefix=/usr'), link the timezone file |
| which is in '/usr/share/zoneinfo' to the file '/etc/localtime'. For |
| Germany, you might execute 'ln -s /usr/share/zoneinfo/Europe/Berlin |
| /etc/localtime'. |
| |
| |
| File: libc.info, Node: Tools for Compilation, Next: Linux, Prev: Running make install, Up: Installation |
| |
| C.3 Recommended Tools for Compilation |
| ===================================== |
| |
| We recommend installing the following GNU tools before attempting to |
| build the GNU C Library: |
| |
| * GNU 'make' 3.79 or newer |
| |
| You need the latest version of GNU 'make'. Modifying the GNU C |
| Library to work with other 'make' programs would be so difficult |
| that we recommend you port GNU 'make' instead. *Really.* We |
| recommend GNU 'make' version 3.79. All earlier versions have |
| severe bugs or lack features. |
| |
| * GCC 4.6 or newer |
| |
| GCC 4.6 or higher is required. In general it is recommended to use |
| the newest version of the compiler that is known to work for |
| building the GNU C Library, as newer compilers usually produce |
| better code. As of release time, GCC 4.9.2 is the newest compiler |
| verified to work to build the GNU C Library. |
| |
| You can use whatever compiler you like to compile programs that use |
| the GNU C Library. |
| |
| Check the FAQ for any special compiler issues on particular |
| platforms. |
| |
| * GNU 'binutils' 2.22 or later |
| |
| You must use GNU 'binutils' (as and ld) to build the GNU C Library. |
| No other assembler or linker has the necessary functionality at the |
| moment. As of release time, GNU 'binutils' 2.25 is the newest |
| verified to work to build the GNU C Library. |
| |
| * GNU 'texinfo' 4.7 or later |
| |
| To correctly translate and install the Texinfo documentation you |
| need this version of the 'texinfo' package. Earlier versions do |
| not understand all the tags used in the document, and the |
| installation mechanism for the info files is not present or works |
| differently. As of release time, 'texinfo' 5.2 is the newest |
| verified to work to build the GNU C Library. |
| |
| * GNU 'awk' 3.1.2, or higher |
| |
| 'awk' is used in several places to generate files. Some 'gawk' |
| extensions are used, including the 'asorti' function, which was |
| introduced in version 3.1.2 of 'gawk'. |
| |
| * Perl 5 |
| |
| Perl is not required, but it is used if present to test the |
| installation. We may decide to use it elsewhere in the future. |
| |
| * GNU 'sed' 3.02 or newer |
| |
| 'Sed' is used in several places to generate files. Most scripts |
| work with any version of 'sed'. The known exception is the script |
| 'po2test.sed' in the 'intl' subdirectory which is used to generate |
| 'msgs.h' for the test suite. This script works correctly only with |
| GNU 'sed' 3.02. If you like to run the test suite, you should |
| definitely upgrade 'sed'. |
| |
| If you change any of the 'configure.ac' files you will also need |
| |
| * GNU 'autoconf' 2.69 (exactly) |
| |
| and if you change any of the message translation files you will need |
| |
| * GNU 'gettext' 0.10.36 or later |
| |
| If you wish to regenerate the 'yacc' parser code in the 'intl' |
| subdirectory you will need |
| |
| * GNU 'bison' 2.7 or later |
| |
| You may also need these packages if you upgrade your source tree using |
| patches, although we try to avoid this. |
| |
| |
| File: libc.info, Node: Linux, Next: Reporting Bugs, Prev: Tools for Compilation, Up: Installation |
| |
| C.4 Specific advice for GNU/Linux systems |
| ========================================= |
| |
| If you are installing the GNU C Library on GNU/Linux systems, you need |
| to have the header files from a 2.6.32 or newer kernel around for |
| reference. These headers must be installed using 'make |
| headers_install'; the headers present in the kernel source directory are |
| not suitable for direct use by the GNU C Library. You do not need to |
| use that kernel, just have its headers installed where the GNU C Library |
| can access them, referred to here as INSTALL-DIRECTORY. The easiest way |
| to do this is to unpack it in a directory such as |
| '/usr/src/linux-VERSION'. In that directory, run 'make headers_install |
| INSTALL_HDR_PATH=INSTALL-DIRECTORY'. Finally, configure the GNU C |
| Library with the option '--with-headers=INSTALL-DIRECTORY/include'. Use |
| the most recent kernel you can get your hands on. (If you are |
| cross-compiling the GNU C Library, you need to specify |
| 'ARCH=ARCHITECTURE' in the 'make headers_install' command, where |
| ARCHITECTURE is the architecture name used by the Linux kernel, such as |
| 'x86' or 'powerpc'.) |
| |
| After installing the GNU C Library, you may need to remove or rename |
| directories such as '/usr/include/linux' and '/usr/include/asm', and |
| replace them with copies of directories such as 'linux' and 'asm' from |
| 'INSTALL-DIRECTORY/include'. All directories present in |
| 'INSTALL-DIRECTORY/include' should be copied, except that the GNU C |
| Library provides its own version of '/usr/include/scsi'; the files |
| provided by the kernel should be copied without replacing those provided |
| by the GNU C Library. The 'linux', 'asm' and 'asm-generic' directories |
| are required to compile programs using the GNU C Library; the other |
| directories describe interfaces to the kernel but are not required if |
| not compiling programs using those interfaces. You do not need to copy |
| kernel headers if you did not specify an alternate kernel header source |
| using '--with-headers'. |
| |
| The Filesystem Hierarchy Standard for GNU/Linux systems expects some |
| components of the GNU C Library installation to be in '/lib' and some in |
| '/usr/lib'. This is handled automatically if you configure the GNU C |
| Library with '--prefix=/usr'. If you set some other prefix or allow it |
| to default to '/usr/local', then all the components are installed there. |
| |
| |
| File: libc.info, Node: Reporting Bugs, Prev: Linux, Up: Installation |
| |
| C.5 Reporting Bugs |
| ================== |
| |
| There are probably bugs in the GNU C Library. There are certainly |
| errors and omissions in this manual. If you report them, they will get |
| fixed. If you don't, no one will ever know about them and they will |
| remain unfixed for all eternity, if not longer. |
| |
| It is a good idea to verify that the problem has not already been |
| reported. Bugs are documented in two places: The file 'BUGS' describes |
| a number of well known bugs and the central GNU C Library bug tracking |
| system has a WWW interface at <http://sourceware.org/bugzilla/>. The |
| WWW interface gives you access to open and closed reports. A closed |
| report normally includes a patch or a hint on solving the problem. |
| |
| To report a bug, first you must find it. With any luck, this will be |
| the hard part. Once you've found a bug, make sure it's really a bug. A |
| good way to do this is to see if the GNU C Library behaves the same way |
| some other C library does. If so, probably you are wrong and the |
| libraries are right (but not necessarily). If not, one of the libraries |
| is probably wrong. It might not be the GNU C Library. Many historical |
| Unix C libraries permit things that we don't, such as closing a file |
| twice. |
| |
| If you think you have found some way in which the GNU C Library does |
| not conform to the ISO and POSIX standards (*note Standards and |
| Portability::), that is definitely a bug. Report it! |
| |
| Once you're sure you've found a bug, try to narrow it down to the |
| smallest test case that reproduces the problem. In the case of a C |
| library, you really only need to narrow it down to one library function |
| call, if possible. This should not be too difficult. |
| |
| The final step when you have a simple test case is to report the bug. |
| Do this at <http://www.gnu.org/software/libc/bugs.html>. |
| |
| If you are not sure how a function should behave, and this manual |
| doesn't tell you, that's a bug in the manual. Report that too! If the |
| function's behavior disagrees with the manual, then either the library |
| or the manual has a bug, so report the disagreement. If you find any |
| errors or omissions in this manual, please report them to the bug |
| database. If you refer to specific sections of the manual, please |
| include the section names for easier identification. |
| |
| |
| File: libc.info, Node: Maintenance, Next: Platform, Prev: Installation, Up: Top |
| |
| Appendix D Library Maintenance |
| ****************************** |
| |
| * Menu: |
| |
| * Source Layout:: How to add new functions or header files |
| to the GNU C Library. |
| * Porting:: How to port the GNU C Library to |
| a new machine or operating system. |
| |
| |
| File: libc.info, Node: Source Layout, Next: Porting, Up: Maintenance |
| |
| D.1 Adding New Functions |
| ======================== |
| |
| The process of building the library is driven by the makefiles, which |
| make heavy use of special features of GNU 'make'. The makefiles are |
| very complex, and you probably don't want to try to understand them. |
| But what they do is fairly straightforward, and only requires that you |
| define a few variables in the right places. |
| |
| The library sources are divided into subdirectories, grouped by |
| topic. |
| |
| The 'string' subdirectory has all the string-manipulation functions, |
| 'math' has all the mathematical functions, etc. |
| |
| Each subdirectory contains a simple makefile, called 'Makefile', |
| which defines a few 'make' variables and then includes the global |
| makefile 'Rules' with a line like: |
| |
| include ../Rules |
| |
| The basic variables that a subdirectory makefile defines are: |
| |
| 'subdir' |
| The name of the subdirectory, for example 'stdio'. This variable |
| *must* be defined. |
| |
| 'headers' |
| The names of the header files in this section of the library, such |
| as 'stdio.h'. |
| |
| 'routines' |
| 'aux' |
| The names of the modules (source files) in this section of the |
| library. These should be simple names, such as 'strlen' (rather |
| than complete file names, such as 'strlen.c'). Use 'routines' for |
| modules that define functions in the library, and 'aux' for |
| auxiliary modules containing things like data definitions. But the |
| values of 'routines' and 'aux' are just concatenated, so there |
| really is no practical difference. |
| |
| 'tests' |
| The names of test programs for this section of the library. These |
| should be simple names, such as 'tester' (rather than complete file |
| names, such as 'tester.c'). 'make tests' will build and run all |
| the test programs. If a test program needs input, put the test |
| data in a file called 'TEST-PROGRAM.input'; it will be given to the |
| test program on its standard input. If a test program wants to be |
| run with arguments, put the arguments (all on a single line) in a |
| file called 'TEST-PROGRAM.args'. Test programs should exit with |
| zero status when the test passes, and nonzero status when the test |
| indicates a bug in the library or error in building. |
| |
| 'others' |
| The names of "other" programs associated with this section of the |
| library. These are programs which are not tests per se, but are |
| other small programs included with the library. They are built by |
| 'make others'. |
| |
| 'install-lib' |
| 'install-data' |
| 'install' |
| Files to be installed by 'make install'. Files listed in |
| 'install-lib' are installed in the directory specified by 'libdir' |
| in 'configparms' or 'Makeconfig' (*note Installation::). Files |
| listed in 'install-data' are installed in the directory specified |
| by 'datadir' in 'configparms' or 'Makeconfig'. Files listed in |
| 'install' are installed in the directory specified by 'bindir' in |
| 'configparms' or 'Makeconfig'. |
| |
| 'distribute' |
| Other files from this subdirectory which should be put into a |
| distribution tar file. You need not list here the makefile itself |
| or the source and header files listed in the other standard |
| variables. Only define 'distribute' if there are files used in an |
| unusual way that should go into the distribution. |
| |
| 'generated' |
| Files which are generated by 'Makefile' in this subdirectory. |
| These files will be removed by 'make clean', and they will never go |
| into a distribution. |
| |
| 'extra-objs' |
| Extra object files which are built by 'Makefile' in this |
| subdirectory. This should be a list of file names like 'foo.o'; |
| the files will actually be found in whatever directory object files |
| are being built in. These files will be removed by 'make clean'. |
| This variable is used for secondary object files needed to build |
| 'others' or 'tests'. |
| |
| * Menu: |
| |
| * Platform: Adding Platform-specific. Adding platform-specific |
| features. |
| |
| |
| File: libc.info, Node: Adding Platform-specific, Up: Source Layout |
| |
| D.1.1 Platform-specific types, macros and functions |
| --------------------------------------------------- |
| |
| It's sometimes necessary to provide nonstandard, platform-specific |
| features to developers. The C library is traditionally the lowest |
| library layer, so it makes sense for it to provide these low-level |
| features. However, including these features in the C library may be a |
| disadvantage if another package provides them as well as there will be |
| two conflicting versions of them. Also, the features won't be available |
| to projects that do not use the GNU C Library but use other GNU tools, |
| like GCC. |
| |
| The current guidelines are: |
| * If the header file provides features that only make sense on a |
| particular machine architecture and have nothing to do with an |
| operating system, then the features should ultimately be provided |
| as GCC built-in functions. Until then, the GNU C Library may |
| provide them in the header file. When the GCC built-in functions |
| become available, those provided in the header file should be made |
| conditionally available prior to the GCC version in which the |
| built-in function was made available. |
| |
| * If the header file provides features that are specific to an |
| operating system, both GCC and the GNU C Library could provide it, |
| but the GNU C Library is preferred as it already has a lot of |
| information about the operating system. |
| |
| * If the header file provides features that are specific to an |
| operating system but used by the GNU C Library, then the GNU C |
| Library should provide them. |
| |
| The general solution for providing low-level features is to export |
| them as follows: |
| |
| * A nonstandard, low-level header file that defines macros and inline |
| functions should be called 'sys/platform/NAME.h'. |
| |
| * Each header file's name should include the platform name, to avoid |
| users thinking there is anything in common between different the |
| header files for different platforms. For example, a |
| 'sys/platform/ARCH.h' name such as 'sys/platform/ppc.h' is better |
| than 'sys/platform.h'. |
| |
| * A platform-specific header file provided by the GNU C Library |
| should coordinate with GCC such that compiler built-in versions of |
| the functions and macros are preferred if available. This means |
| that user programs will only ever need to include |
| 'sys/platform/ARCH.h', keeping the same names of types, macros, and |
| functions for convenience and portability. |
| |
| * Each included symbol must have the prefix '__ARCH_', such as |
| '__ppc_get_timebase'. |
| |
| The easiest way to provide a header file is to add it to the |
| 'sysdep_headers' variable. For example, the combination of |
| Linux-specific header files on PowerPC could be provided like this: |
| |
| sysdep_headers += sys/platform/ppc.h |
| |
| Then ensure that you have added a 'sys/platform/ppc.h' header file in |
| the machine-specific directory, e.g., |
| 'sysdeps/powerpc/sys/platform/ppc.h'. |
| |
| |
| File: libc.info, Node: Porting, Prev: Source Layout, Up: Maintenance |
| |
| D.2 Porting the GNU C Library |
| ============================= |
| |
| The GNU C Library is written to be easily portable to a variety of |
| machines and operating systems. Machine- and operating system-dependent |
| functions are well separated to make it easy to add implementations for |
| new machines or operating systems. This section describes the layout of |
| the library source tree and explains the mechanisms used to select |
| machine-dependent code to use. |
| |
| All the machine-dependent and operating system-dependent files in the |
| library are in the subdirectory 'sysdeps' under the top-level library |
| source directory. This directory contains a hierarchy of subdirectories |
| (*note Hierarchy Conventions::). |
| |
| Each subdirectory of 'sysdeps' contains source files for a particular |
| machine or operating system, or for a class of machine or operating |
| system (for example, systems by a particular vendor, or all machines |
| that use IEEE 754 floating-point format). A configuration specifies an |
| ordered list of these subdirectories. Each subdirectory implicitly |
| appends its parent directory to the list. For example, specifying the |
| list 'unix/bsd/vax' is equivalent to specifying the list 'unix/bsd/vax |
| unix/bsd unix'. A subdirectory can also specify that it implies other |
| subdirectories which are not directly above it in the directory |
| hierarchy. If the file 'Implies' exists in a subdirectory, it lists |
| other subdirectories of 'sysdeps' which are appended to the list, |
| appearing after the subdirectory containing the 'Implies' file. Lines |
| in an 'Implies' file that begin with a '#' character are ignored as |
| comments. For example, 'unix/bsd/Implies' contains: |
| # BSD has Internet-related things. |
| unix/inet |
| and 'unix/Implies' contains: |
| posix |
| |
| So the final list is 'unix/bsd/vax unix/bsd unix/inet unix posix'. |
| |
| 'sysdeps' has a "special" subdirectory called 'generic'. It is |
| always implicitly appended to the list of subdirectories, so you needn't |
| put it in an 'Implies' file, and you should not create any |
| subdirectories under it intended to be new specific categories. |
| 'generic' serves two purposes. First, the makefiles do not bother to |
| look for a system-dependent version of a file that's not in 'generic'. |
| This means that any system-dependent source file must have an analogue |
| in 'generic', even if the routines defined by that file are not |
| implemented on other platforms. Second, the 'generic' version of a |
| system-dependent file is used if the makefiles do not find a version |
| specific to the system you're compiling for. |
| |
| If it is possible to implement the routines in a 'generic' file in |
| machine-independent C, using only other machine-independent functions in |
| the C library, then you should do so. Otherwise, make them stubs. A |
| "stub" function is a function which cannot be implemented on a |
| particular machine or operating system. Stub functions always return an |
| error, and set 'errno' to 'ENOSYS' (Function not implemented). *Note |
| Error Reporting::. If you define a stub function, you must place the |
| statement 'stub_warning(FUNCTION)', where FUNCTION is the name of your |
| function, after its definition. This causes the function to be listed |
| in the installed '<gnu/stubs.h>', and makes GNU ld warn when the |
| function is used. |
| |
| Some rare functions are only useful on specific systems and aren't |
| defined at all on others; these do not appear anywhere in the |
| system-independent source code or makefiles (including the 'generic' |
| directory), only in the system-dependent 'Makefile' in the specific |
| system's subdirectory. |
| |
| If you come across a file that is in one of the main source |
| directories ('string', 'stdio', etc.), and you want to write a machine- |
| or operating system-dependent version of it, move the file into |
| 'sysdeps/generic' and write your new implementation in the appropriate |
| system-specific subdirectory. Note that if a file is to be |
| system-dependent, it *must not* appear in one of the main source |
| directories. |
| |
| There are a few special files that may exist in each subdirectory of |
| 'sysdeps': |
| |
| 'Makefile' |
| |
| A makefile for this machine or operating system, or class of |
| machine or operating system. This file is included by the library |
| makefile 'Makerules', which is used by the top-level makefile and |
| the subdirectory makefiles. It can change the variables set in the |
| including makefile or add new rules. It can use GNU 'make' |
| conditional directives based on the variable 'subdir' (see above) |
| to select different sets of variables and rules for different |
| sections of the library. It can also set the 'make' variable |
| 'sysdep-routines', to specify extra modules to be included in the |
| library. You should use 'sysdep-routines' rather than adding |
| modules to 'routines' because the latter is used in determining |
| what to distribute for each subdirectory of the main source tree. |
| |
| Each makefile in a subdirectory in the ordered list of |
| subdirectories to be searched is included in order. Since several |
| system-dependent makefiles may be included, each should append to |
| 'sysdep-routines' rather than simply setting it: |
| |
| sysdep-routines := $(sysdep-routines) foo bar |
| |
| 'Subdirs' |
| |
| This file contains the names of new whole subdirectories under the |
| top-level library source tree that should be included for this |
| system. These subdirectories are treated just like the |
| system-independent subdirectories in the library source tree, such |
| as 'stdio' and 'math'. |
| |
| Use this when there are completely new sets of functions and header |
| files that should go into the library for the system this |
| subdirectory of 'sysdeps' implements. For example, |
| 'sysdeps/unix/inet/Subdirs' contains 'inet'; the 'inet' directory |
| contains various network-oriented operations which only make sense |
| to put in the library on systems that support the Internet. |
| |
| 'configure' |
| |
| This file is a shell script fragment to be run at configuration |
| time. The top-level 'configure' script uses the shell '.' command |
| to read the 'configure' file in each system-dependent directory |
| chosen, in order. The 'configure' files are often generated from |
| 'configure.ac' files using Autoconf. |
| |
| A system-dependent 'configure' script will usually add things to |
| the shell variables 'DEFS' and 'config_vars'; see the top-level |
| 'configure' script for details. The script can check for '--with-PACKAGE' |
| options that were passed to the top-level 'configure'. For an |
| option '--with-PACKAGE=VALUE' 'configure' sets the shell variable 'with_PACKAGE' |
| (with any dashes in PACKAGE converted to underscores) to VALUE; if |
| the option is just '--with-PACKAGE' (no argument), then it sets 'with_PACKAGE' |
| to 'yes'. |
| |
| 'configure.ac' |
| |
| This file is an Autoconf input fragment to be processed into the |
| file 'configure' in this subdirectory. *Note |
| (autoconf.info)Introduction::, for a description of Autoconf. You |
| should write either 'configure' or 'configure.ac', but not both. |
| The first line of 'configure.ac' should invoke the 'm4' macro |
| 'GLIBC_PROVIDES'. This macro does several 'AC_PROVIDE' calls for |
| Autoconf macros which are used by the top-level 'configure' script; |
| without this, those macros might be invoked again unnecessarily by |
| Autoconf. |
| |
| That is the general system for how system-dependencies are isolated. |
| |
| * Menu: |
| |
| * Hierarchy Conventions:: The layout of the 'sysdeps' hierarchy. |
| * Porting to Unix:: Porting the library to an average |
| Unix-like system. |
| |
| |
| File: libc.info, Node: Hierarchy Conventions, Next: Porting to Unix, Up: Porting |
| |
| D.2.1 Layout of the 'sysdeps' Directory Hierarchy |
| ------------------------------------------------- |
| |
| A GNU configuration name has three parts: the CPU type, the |
| manufacturer's name, and the operating system. 'configure' uses these |
| to pick the list of system-dependent directories to look for. If the |
| '--nfp' option is _not_ passed to 'configure', the directory |
| 'MACHINE/fpu' is also used. The operating system often has a "base |
| operating system"; for example, if the operating system is 'Linux', the |
| base operating system is 'unix/sysv'. The algorithm used to pick the |
| list of directories is simple: 'configure' makes a list of the base |
| operating system, manufacturer, CPU type, and operating system, in that |
| order. It then concatenates all these together with slashes in between, |
| to produce a directory name; for example, the configuration 'i686-linux-gnu' |
| results in 'unix/sysv/linux/i386/i686'. 'configure' then tries removing |
| each element of the list in turn, so 'unix/sysv/linux' and 'unix/sysv' |
| are also tried, among others. Since the precise version number of the |
| operating system is often not important, and it would be very |
| inconvenient, for example, to have identical 'irix6.2' and 'irix6.3' |
| directories, 'configure' tries successively less specific operating |
| system names by removing trailing suffixes starting with a period. |
| |
| As an example, here is the complete list of directories that would be |
| tried for the configuration 'i686-linux-gnu' (with the 'crypt' and |
| 'linuxthreads' add-on): |
| |
| sysdeps/i386/elf |
| crypt/sysdeps/unix |
| linuxthreads/sysdeps/unix/sysv/linux |
| linuxthreads/sysdeps/pthread |
| linuxthreads/sysdeps/unix/sysv |
| linuxthreads/sysdeps/unix |
| linuxthreads/sysdeps/i386/i686 |
| linuxthreads/sysdeps/i386 |
| linuxthreads/sysdeps/pthread/no-cmpxchg |
| sysdeps/unix/sysv/linux/i386 |
| sysdeps/unix/sysv/linux |
| sysdeps/gnu |
| sysdeps/unix/common |
| sysdeps/unix/mman |
| sysdeps/unix/inet |
| sysdeps/unix/sysv/i386/i686 |
| sysdeps/unix/sysv/i386 |
| sysdeps/unix/sysv |
| sysdeps/unix/i386 |
| sysdeps/unix |
| sysdeps/posix |
| sysdeps/i386/i686 |
| sysdeps/i386/i486 |
| sysdeps/libm-i387/i686 |
| sysdeps/i386/fpu |
| sysdeps/libm-i387 |
| sysdeps/i386 |
| sysdeps/wordsize-32 |
| sysdeps/ieee754 |
| sysdeps/libm-ieee754 |
| sysdeps/generic |
| |
| Different machine architectures are conventionally subdirectories at |
| the top level of the 'sysdeps' directory tree. For example, 'sysdeps/sparc' |
| and 'sysdeps/m68k'. These contain files specific to those machine |
| architectures, but not specific to any particular operating system. |
| There might be subdirectories for specializations of those |
| architectures, such as 'sysdeps/m68k/68020'. Code which is specific to |
| the floating-point coprocessor used with a particular machine should go |
| in 'sysdeps/MACHINE/fpu'. |
| |
| There are a few directories at the top level of the 'sysdeps' |
| hierarchy that are not for particular machine architectures. |
| |
| 'generic' |
| As described above (*note Porting::), this is the subdirectory that |
| every configuration implicitly uses after all others. |
| |
| 'ieee754' |
| This directory is for code using the IEEE 754 floating-point |
| format, where the C type 'float' is IEEE 754 single-precision |
| format, and 'double' is IEEE 754 double-precision format. Usually |
| this directory is referred to in the 'Implies' file in a machine |
| architecture-specific directory, such as 'm68k/Implies'. |
| |
| 'libm-ieee754' |
| This directory contains an implementation of a mathematical library |
| usable on platforms which use IEEE 754 conformant floating-point |
| arithmetic. |
| |
| 'libm-i387' |
| This is a special case. Ideally the code should be in |
| 'sysdeps/i386/fpu' but for various reasons it is kept aside. |
| |
| 'posix' |
| This directory contains implementations of things in the library in |
| terms of POSIX.1 functions. This includes some of the POSIX.1 |
| functions themselves. Of course, POSIX.1 cannot be completely |
| implemented in terms of itself, so a configuration using just |
| 'posix' cannot be complete. |
| |
| 'unix' |
| This is the directory for Unix-like things. *Note Porting to |
| Unix::. 'unix' implies 'posix'. There are some special-purpose |
| subdirectories of 'unix': |
| |
| 'unix/common' |
| This directory is for things common to both BSD and System V |
| release 4. Both 'unix/bsd' and 'unix/sysv/sysv4' imply |
| 'unix/common'. |
| |
| 'unix/inet' |
| This directory is for 'socket' and related functions on Unix |
| systems. 'unix/inet/Subdirs' enables the 'inet' top-level |
| subdirectory. 'unix/common' implies 'unix/inet'. |
| |
| 'mach' |
| This is the directory for things based on the Mach microkernel from |
| CMU (including GNU/Hurd systems). Other basic operating systems |
| (VMS, for example) would have their own directories at the top |
| level of the 'sysdeps' hierarchy, parallel to 'unix' and 'mach'. |
| |