<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=216.58.25.209</id>
	<title>Vero - Wikipedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=216.58.25.209"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php/Special:Contributions/216.58.25.209"/>
	<updated>2026-07-10T16:51:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Nm_(Unix)&amp;diff=413296</id>
		<title>Nm (Unix)</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Nm_(Unix)&amp;diff=413296"/>
		<updated>2025-03-15T03:52:02Z</updated>

		<summary type="html">&lt;p&gt;216.58.25.209: readd a proper etymology with citation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{short description|Unix command}}&lt;br /&gt;
{{lowercase|nm (Unix)}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = nm&lt;br /&gt;
| logo                   = &lt;br /&gt;
| screenshot             = &lt;br /&gt;
| screenshot size        = &lt;br /&gt;
| caption                = &lt;br /&gt;
| author                 = [[Dennis Ritchie]],&amp;lt;br /&amp;gt;[[Ken Thompson]]&amp;lt;br /&amp;gt;([[AT&amp;amp;T Bell Laboratories]])&lt;br /&gt;
| developer              = Various [[open-source software|open-source]] and [[commercial software|commercial]] developers&lt;br /&gt;
| released               = {{Start date and age|1971|11|3}}&lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date    = &lt;br /&gt;
| programming language   = [[C (programming language)|C]]&lt;br /&gt;
| operating system       = [[Unix]], [[Unix-like]], [[Plan 9 from Bell Labs|Plan 9]]&lt;br /&gt;
| platform               = [[Cross-platform]]&lt;br /&gt;
| genre                  = [[Command (computing)|Command]]&lt;br /&gt;
| license                = Plan 9: [[MIT License]]&lt;br /&gt;
| website                = &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;code&amp;gt;&#039;&#039;&#039;nm&#039;&#039;&#039;&amp;lt;/code&amp;gt; is a [[Unix]] command used to dump the [[symbol table]] and their attributes from a [[binary file|binary]] [[executable]] file (including [[Library (computing)|libraries]], compiled [[Object file|object modules]], shared-object files, and standalone [[executable]]s).&lt;br /&gt;
&lt;br /&gt;
The output from &amp;lt;code&amp;gt;nm&amp;lt;/code&amp;gt; distinguishes between various symbol types. For example, it differentiates between a [[subroutine|function]] that is supplied by an object module and a function that is required by it. &amp;lt;code&amp;gt;nm&amp;lt;/code&amp;gt; is used as an aid for [[debugging]], to help resolve problems arising from name conflicts and [[C++]] name mangling, and to validate other parts of the [[toolchain]].&lt;br /&gt;
&lt;br /&gt;
This command is shipped with a number of later versions of [[Unix]] and [[Unix-like|similar]] [[operating system]]s including [[Plan 9 from Bell Labs|Plan 9]]. The [[GNU Project]] ships an implementation of &amp;lt;code&amp;gt;nm&amp;lt;/code&amp;gt; as part of the [[GNU Binutils]] package.&lt;br /&gt;
&lt;br /&gt;
The etymology is that in the old Version 7 Unix, &amp;lt;code&amp;gt;nm&amp;lt;/code&amp;gt;&#039;s manpage used the term &#039;&#039;name list&#039;&#039; instead of &#039;&#039;symbol table&#039;&#039;.&amp;lt;ref&amp;gt;{{Cite web |title=NM(1) |url=https://man.freebsd.org/cgi/man.cgi?query=nm&amp;amp;manpath=Unix%20Seventh%20Edition&amp;amp;format=ascii |access-date=2025-03-14 |website=Unix Seventh Edition General Commands Manual}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nm output sample==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * File name: test.c&lt;br /&gt;
 * For C code compile with: &lt;br /&gt;
 * gcc -c test.c&lt;br /&gt;
 *&lt;br /&gt;
 * For C++ code compile with:&lt;br /&gt;
 * g++ -c test.cpp&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
int global_var;&lt;br /&gt;
int global_var_init = 26;&lt;br /&gt;
&lt;br /&gt;
static int static_var;&lt;br /&gt;
static int static_var_init = 25;&lt;br /&gt;
&lt;br /&gt;
static int static_function()&lt;br /&gt;
{&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int global_function(int p)&lt;br /&gt;
{&lt;br /&gt;
	static int local_static_var;&lt;br /&gt;
	static int local_static_var_init=5;&lt;br /&gt;
&lt;br /&gt;
	local_static_var = p;&lt;br /&gt;
&lt;br /&gt;
	return local_static_var_init + local_static_var;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int global_function2()&lt;br /&gt;
{&lt;br /&gt;
	int x;&lt;br /&gt;
	int y;&lt;br /&gt;
	return x+y;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#ifdef __cplusplus&lt;br /&gt;
extern &amp;quot;C&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
void non_mangled_function()&lt;br /&gt;
{&lt;br /&gt;
	// I do nothing&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	global_var = 1;&lt;br /&gt;
	static_var = 2;&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the previous code is compiled with the [[GNU Compiler Collection|gcc]] C compiler, the output of the &amp;lt;code&amp;gt;nm&amp;lt;/code&amp;gt; command is the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot;&amp;gt;&lt;br /&gt;
# nm test.o&lt;br /&gt;
0000000a T global_function&lt;br /&gt;
00000025 T global_function2&lt;br /&gt;
00000004 C global_var&lt;br /&gt;
00000000 D global_var_init&lt;br /&gt;
00000004 b local_static_var.1255&lt;br /&gt;
00000008 d local_static_var_init.1256&lt;br /&gt;
0000003b T main&lt;br /&gt;
00000036 T non_mangled_function&lt;br /&gt;
00000000 t static_function&lt;br /&gt;
00000000 b static_var&lt;br /&gt;
00000004 d static_var_init&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the C++ compiler is used, the output differs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot;&amp;gt;&lt;br /&gt;
# nm test.o&lt;br /&gt;
0000000a T _Z15global_functioni&lt;br /&gt;
00000025 T _Z16global_function2v&lt;br /&gt;
00000004 b _ZL10static_var&lt;br /&gt;
00000000 t _ZL15static_functionv&lt;br /&gt;
00000004 d _ZL15static_var_init&lt;br /&gt;
00000008 b _ZZ15global_functioniE16local_static_var&lt;br /&gt;
00000008 d _ZZ15global_functioniE21local_static_var_init&lt;br /&gt;
         U __gxx_personality_v0&lt;br /&gt;
00000000 B global_var&lt;br /&gt;
00000000 D global_var_init&lt;br /&gt;
0000003b T main&lt;br /&gt;
00000036 T non_mangled_function&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The differences between the outputs also show an example of solving the [[name mangling]] problem by using [[extern &amp;quot;C&amp;quot;]] in C++ code.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  |+ Symbol types&lt;br /&gt;
|-&lt;br /&gt;
  ! Symbol type&lt;br /&gt;
  ! Description&lt;br /&gt;
|-&lt;br /&gt;
  | A &lt;br /&gt;
  |Global absolute symbol&lt;br /&gt;
|-&lt;br /&gt;
  | a &lt;br /&gt;
  | Local absolute symbol&lt;br /&gt;
|-&lt;br /&gt;
  | B &lt;br /&gt;
  | Global bss symbol&lt;br /&gt;
|-&lt;br /&gt;
  | b &lt;br /&gt;
  | Local bss symbol&lt;br /&gt;
|-&lt;br /&gt;
  | D &lt;br /&gt;
  | Global data symbol&lt;br /&gt;
|-&lt;br /&gt;
  | d &lt;br /&gt;
  | Local data symbol&lt;br /&gt;
|-&lt;br /&gt;
  | f &lt;br /&gt;
  | Source file name symbol&lt;br /&gt;
|-&lt;br /&gt;
  | R&lt;br /&gt;
  | Global read-only symbol&lt;br /&gt;
|-&lt;br /&gt;
  | r&lt;br /&gt;
  | Local read-only symbol&lt;br /&gt;
|-&lt;br /&gt;
  | T&lt;br /&gt;
  | Global text symbol&lt;br /&gt;
|-&lt;br /&gt;
  | t&lt;br /&gt;
  | Local text symbol&lt;br /&gt;
|-&lt;br /&gt;
  | U&lt;br /&gt;
  | Undefined symbol&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[objdump]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
{{Wikibooks|Guide to Unix|Commands}}&lt;br /&gt;
*{{man|cu|nm|SUS|write the name list of an object file}}&lt;br /&gt;
*{{man|1|nm|Plan 9}}&lt;br /&gt;
&lt;br /&gt;
{{Unix commands}}&lt;br /&gt;
{{Plan 9 commands}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Unix programming tools]]&lt;br /&gt;
[[Category:Unix SUS2008 utilities]]&lt;br /&gt;
[[Category:Articles with example C code]]&lt;br /&gt;
[[Category:Plan 9 commands]]&lt;br /&gt;
&lt;br /&gt;
{{unix-stub}}&lt;/div&gt;</summary>
		<author><name>216.58.25.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Procatalepsis&amp;diff=306630</id>
		<title>Procatalepsis</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Procatalepsis&amp;diff=306630"/>
		<updated>2025-03-14T03:46:27Z</updated>

		<summary type="html">&lt;p&gt;216.58.25.209: MOS:BQ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Short description|Figure of speech}}&lt;br /&gt;
{{other uses of|prolepsis|Prolepsis (disambiguation)}}&lt;br /&gt;
&#039;&#039;&#039;Procatalepsis&#039;&#039;&#039;, also called &#039;&#039;&#039;prolepsis&#039;&#039;&#039; or &#039;&#039;&#039;prebuttal&#039;&#039;&#039;, is a [[figure of speech]] in which the speaker raises an objection to their own argument and then immediately answers it. By doing so, the speaker hopes to strengthen the argument by dealing with possible counterarguments before the audience can raise them.&amp;lt;ref&amp;gt;{{cite book |last=Walton |first=Douglas N. |date=2007 |title=Dialog Theory for Critical Argumentation |publisher=John Benjamins B.V.|isbn=978-90-272-1885-8 |pages=106 |url=https://archive.org/details/dialogtheoryforc00walt/page/n124 |url-access=limited}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In [[rhetoric]], anticipating future responses and answering possible objections sets up one&#039;s argument for a strong defense. The &#039;&#039;Columbia Dictionary of Modern Literary and Cultural Criticism&#039;&#039; states that there are three distinct theoretical uses of prolepsis: argumentation, literary discussion, and conjunction with narratological analyses of the order of events.&amp;lt;ref name=&amp;quot;ColumbiaDict&amp;quot;&amp;gt;{{cite book |last1=Childers |first1=Joseph |last2=Hentzi |first2=Gary |year=1995 |title=The Columbia Dictionary of Modern Literary and Cultural Criticism |url=https://archive.org/details/columbiadictiona00jose |url-access=registration |publisher=Columbia University Press |isbn=978-0-231-07243-4}}&amp;lt;/ref&amp;gt;{{Page needed|date=December 2013}}&lt;br /&gt;
&lt;br /&gt;
In argumentation, procatalepsis is used to answer the opponent&#039;s possible objections before they can be made. In literary discussion, procatalepsis is used as a figure of speech in which a description is used before it is strictly applicable. Sayings such as &amp;quot;I&#039;m a dead man&amp;quot; exemplify the suggestion of a state that has not yet occurred. In [[narratology|narratological]] analyses, prolepsis can be used with the order of events and presentation of events in texts. That refers to the study of narrative in respect to &amp;quot;[[flashforwards]]&amp;quot; in which a future event serves as an interruption of the present time of the text.&amp;lt;ref name=&amp;quot;ColumbiaDict&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
{{quote|It is difficult to see how a pilot boat could be completely immune to capsizing or plunging, but pilot boat design criteria must meet the needs of the industry and pilotage authorities.}}&lt;br /&gt;
&lt;br /&gt;
As a linguistic phenomenon found in both classic and current languages, prolepsis is described as the construction whereby the subject of a subordinate clause occurs by anticipation as an object in the main clause.&amp;lt;ref&amp;gt;Panhuis, Dirk. &amp;quot;Prolepsis in Greek as a Discourse Strategy.&amp;quot; &#039;&#039;Glotta&#039;&#039; 62.1/2 (1984): n. pag. JSTOR. Web. 30 Sept. 2014.&amp;lt;/ref&amp;gt; Although that definition is strictly technical as used in linguistics, it has also been used to describe the more general phenomenon of objects or phrases appearing earlier than intended or expected.&lt;br /&gt;
&lt;br /&gt;
==Other examples in rhetoric and argument== &lt;br /&gt;
&lt;br /&gt;
Procatalepsis as a rhetorical technique is also related to and used in other forms and techniques. A [[hypophora]] is described as a figure of speech in which a speaker raises a question then immediately answers it. Since these questions are often raised as possible dissenting opinions or audience objections, the hypophora can be said to be a use of procatalepsis.&lt;br /&gt;
&lt;br /&gt;
The [[straw man]] argument, an [[informal fallacy]] in which one misrepresents an opposing argument in order to further one&#039;s own, can serve as an example of misused procatalepsis. In this fallacy, the rhetor misconstrues the words, arguments, or views of an opponent, most often on purpose, to facilitate rebuttal or create a false impression on the audience. This, in effect, creates a &amp;quot;straw man&amp;quot; against which the rhetor will then defend and strengthen his or her argument.&amp;lt;ref&amp;gt;{{cite conference |last=Walton |first=Douglas |editor1-last=van Bentham |editor1-first=Johan |editor2-last=van Eemeren |editor2-first=Frans H. |editor3-last=Grootendorst |editor3-first=Rob |editor4-last=Veltman |editor4-first=Frank |date=1996 |title=The Straw Man Fallacy |work=In Logic and Argumentation |publisher=North-Holland |location=Amsterdam, Royal Netherlands Academy of Arts and Sciences |isbn=0444858148 |pages=115–128}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The correct use of procatalepsis is still an effective tactic in an argument, since it allows the rhetor to answer opponents before they have a chance to raise the counterargument themselves. This &amp;quot;inoculation&amp;quot; can be subtle, but also signaled rather obviously (e.g., &amp;quot;Now, my opponent might argue that {{var|X}}. But, as you can see, {{var|Y}}&amp;quot;). The unique benefit to this more overt approach is twofold: The rhetor successfully replies to an opposing argument or audience objection, but also builds a sort of trust and authority with the audience. Then, if the opponent does in fact bring up the argument that the rhetor anticipated, the rhetor appears to be correct not only in the subject matter of the argument but in the general course of the argument itself.&lt;br /&gt;
&lt;br /&gt;
==Inoculation==&lt;br /&gt;
Procatalepsis is linked to the rhetorical term [[Inoculation theory|inoculation]]. The &#039;&#039;Encyclopedia of Communication Theory&#039;&#039; describes this rhetorical technique in relation to its medical definition: introducing small doses of viruses to the body in order to build up [[immunization]].&amp;lt;ref name=&amp;quot;EnclopedComm&amp;quot;&amp;gt;{{cite book |last1=Littlejohn |first1=Stephen W. |last2=Foss |first2=Karen A. |year=2009 |title=Encyclopedia of Communication Theory |publisher=SAGE |isbn=978-1-4129-5937-7}}&amp;lt;/ref&amp;gt;{{Page needed|date=December 2013}} In rhetoric, the small dose of the threat parallels to the awareness of the opposing argument that is used to build up one&#039;s argument by defense in prolepsis. [[William J. McGuire|William McGuire]] proposed the Inoculation Theory in 1964 to challenge attitudes, beliefs, and behaviors that make an argument more resistant when exposed to counter views in weakened, small doses. Persuasion research in the 1950s found that providing two sides of an issue created a greater resistance to later arguments.&amp;lt;ref name=&amp;quot;EnclopedComm&amp;quot; /&amp;gt; This is closely related to the rhetorical use of procatalepsis as an opposing argument to defend the intended view of the argument.&lt;br /&gt;
&lt;br /&gt;
Inoculation and procatalepsis are both present in certain courtroom situations, as described in the &#039;&#039;Encyclopedia of Communication Theory&#039;&#039;. An attorney may set up their defense by disclaiming the negative views or classifications of the accused as untrue: &amp;quot;The prosecutor will call Ms. Jones evil, a bad mother, and a poor member of society, but these labels are not true. I will prove to you their inaccuracy.&amp;quot; When the prosecutor asserts an attack on Ms. Jones&#039; character, the jury is already prepared and expecting to hear it and they may question or even discount these accusations. The goal is not to overwhelm the audience members with anticipation or the opposing view of the argument, but rather to use the inverse argument to one&#039;s advantage through strategic rhetoric.&amp;lt;ref name=&amp;quot;EnclopedComm&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Steelmanning]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Figures of speech}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Rhetoric]]&lt;br /&gt;
[[Category:Figures of speech]]&lt;/div&gt;</summary>
		<author><name>216.58.25.209</name></author>
	</entry>
</feed>