RANLIB(1)
β¨ RANLIB(1) β¨
okay bestie, gather round, because we're talking about ranlib β a little icon from the GNU Development Tools lineup and honestly? she's doing so much with so little. π
π NAME π
ranlib β generate an index to an archive
π SYNOPSIS π
ranlib [--plugin name] [-DhHvVt] archive
π¦ DESCRIPTION π¦
so here's the tea: ranlib generates an index to the contents of an archive and stores it in the archive. like, right inside her. no cap. πΈ
that index lists every symbol defined by a member of an archive that is a relocatable object file. every single one. she's thorough like that.
you can peek at this index with nm -s or nm --print-armap β go look, she worked hard on it. π
and why do we care? because an archive with such an index speeds up linking to the library and lets routines in the library call each other without regard to their placement in the archive. mutual support, community, friendship. the vibe is immaculate. π«Ά
also, iconic fact: the GNU ranlib program is another form of GNU ar β running ranlib is completely equivalent to executing ar -s. same girl, different outfit. β¨
π₯ OPTIONS π₯
-h-H--helpβ show usage information forranlib. the "what do i even do" button. π-v-V--versionβ show the version number ofranlib. identity reveal. π-Dβ operate in deterministic mode. the symbol map archive member's header will show zero for the UID, GID, and timestamp. when this option is used, multiple runs will produce identical output files. consistency queen. π
if binutils was configured with --enable-deterministic-archives, then this mode is on by default. it can be disabled with the -U option, described below. (iykyk)
-tβ update the timestamp of the symbol map of an archive. freshen her up a lil. β-Uβ do not operate in deterministic mode. this is the inverse of the-Doption above: the archive index will get actual UID, GID, timestamp, and file mode values. chaotic, authentic, main character energy. π
if binutils was configured without --enable-deterministic-archives, then this mode is on by default.
@file β read command-line options from file. the options read are inserted *in place of the original@file* option. if file does not exist, or cannot be read, then the option will be treated literally, and not removed. (she said "i'll just be my own thing then." π)
options in file are separated by whitespace. a whitespace character may be included in an option by surrounding the entire option in either single or double quotes. any character (including a backslash) may be included by prefixing the character to be included with a backslash. the file may itself contain additional @file options; any such options will be processed recursively. yes girl, she goes deeper. π
πΈ SEE ALSO πΈ
ar(1), nm(1), and the Info entries for binutils. go read your other besties' pages too, they miss you. π
π COPYRIGHT π
Copyright (c) 1991-2025 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 no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. a copy of the license is included in the section entitled "GNU Free Documentation License". πβ¨
and that's the whole page, bestie β every flag, every default, every legal footnote, untouched. don't ever say i gatekeep. π
mwah π this was binutils-2.44, dated 2025-03-28, and it's page RANLIB(1) β catch you on the next man page, love you, bye!! π¦ππ
π¦ where this page comes from
- debian trixie: binutils-mingw-w64-i686 2.44-3+12+b1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms