3

我有一个 elf 文件,我通过输入 nm -n elf.elf 在其上执行 nm,然后在两台不同的机器上得到以下输出:

软呢帽

80900114 t $LFB2.testmod1
80900114 t $LFE2.main
80900114 t $LSM0.testmod1
80900114 t $LSM1.testmod1
80900114 t $LX2.testmod1
80900114 t $Letext0.main
80900114 t $Ltext0.testmod1
80900114 T _testmod1

locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Ubuntu

80900114 t $Letext0.main
80900114 t $LFB2.testmod1
80900114 t $LFE2.main
80900114 t $LSM0.testmod1
80900114 t $LSM1.testmod1
80900114 t $Ltext0.testmod1
80900114 t $LX2.testmod1
80900114 T _testmod1

locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

我已经在两台机器上显示了一小部分输出,我检查了语言环境并且它们看起来相同,什么会导致这两台机器上的输出顺序不同?

字母数字排序在两台机器上也给出了不同的顺序,为什么呢?

(注意:nm 版本是不同的,但是我不希望某种行为是特定于版本的..)

4

0 回答 0