---
name: "riscv64-linux-gnu-ranlib"
section: "1"
platform: "linux"
package: "riscv64-linux-gnu-binutils"
version: "2.47-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/riscv64-linux-gnu-ranlib"
---

# riscv64-linux-gnu-ranlib(1)

generate an index to an archive

## NAME

ranlib - generate an index to an archive

## SYNOPSIS

ranlib \[**--plugin** *name*\] \[**-DhHvVt**\] *archive*

## DESCRIPTION

**ranlib** generates an index to the contents of an archive and stores it in the archive.  The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use **nm -s** or **nm --print-armap** to list this index.

An archive with such an index speeds up linking to the library.

The GNU **ranlib** program is another form of GNU **ar**; running **ranlib** is completely equivalent to executing **ar -s**.

## OPTIONS

- **-h**

  - **-H**

  - **--help**

  Show usage information for **ranlib**.

- **-v**

  - **-V**

  - **--version**

  Show the version number of **ranlib**.

- **-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.

  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.

- **-t**

  Update the timestamp of the symbol map of an archive.

- **-U**

  Do *not* operate in *deterministic* mode.  This is the inverse of the **-D** option, above: the archive index will get actual UID, GID, timestamp, and file mode values.

  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.

  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.

## SEE ALSO

[**ar**(1)](/ar/1.md), [**nm**(1)](/nm/1.md), and the Info entries for *binutils*.

## COPYRIGHT

Copyright (c) 1991-2026 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".
