add existing documentation
This commit is contained in:
21
doc/abi.txt
Executable file
21
doc/abi.txt
Executable file
@@ -0,0 +1,21 @@
|
||||
=== TASK ENVIRONMENT ====
|
||||
|
||||
This data is placed <somewhere> in the address space
|
||||
of a new task.
|
||||
|
||||
environment_t {
|
||||
/** array of string pointers for command line arguments. */
|
||||
size_t argc;
|
||||
char **argv;
|
||||
|
||||
/** handles to the system manager and session manager services
|
||||
respectively */
|
||||
kern_handle_t system;
|
||||
kern_handle_t session;
|
||||
|
||||
/** handles to the pagebuf objects storing the initial thread
|
||||
stack and task heap respectively */
|
||||
kern_handle_t stack;
|
||||
kern_handle_t heap;
|
||||
}
|
||||
|
||||
375
doc/boot-process.txt
Executable file
375
doc/boot-process.txt
Executable file
@@ -0,0 +1,375 @@
|
||||
================================================================================
|
||||
| Rosetta Operating System |
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~~~ |
|
||||
| The Boot Process |
|
||||
================================================================================
|
||||
|
||||
1 Bootloader
|
||||
------------
|
||||
|
||||
The bootloader loads the kernel executable and an initrd.
|
||||
|
||||
|
||||
2 Kernel
|
||||
--------
|
||||
|
||||
The kernel initialises itself, extracts the bootstrap program from the initrd
|
||||
and executes it.
|
||||
|
||||
The initrd is an EC3 image containing (in most cases) two key items:
|
||||
1) A bootstrap executable.
|
||||
2) A volume containing the boot filesystem.
|
||||
|
||||
This data is stored in several 'tags' within the container:
|
||||
* VOLU, CTAB, STAB, and XATR for the boot filesystem volume (ignored by
|
||||
the kernel)
|
||||
* EXEC for the bootstrap program.
|
||||
|
||||
(technically speaking, the only hard requirement as far as the kernel is
|
||||
concerned is the EXEC tag. The initrd could contain any number of other
|
||||
volumes or tags, including none at all)
|
||||
|
||||
The boot filesystem is ignored by the kernel. It is up to the bootstrap
|
||||
program to make use of it.
|
||||
|
||||
The bootstrap program is a static ELF binary in an EXEC tag with an
|
||||
identifier of 0x555345524C414E44 ("USERLAND" in ASCII).
|
||||
|
||||
The key feature of the EXEC tag in an EC3 image is that, for static and flat
|
||||
binaries, it extracts the information needed to run the executable and stores
|
||||
it in a special data structure for easy parsing. This allows the reader (the
|
||||
kernel in this case) to load and run the executable without having to
|
||||
implement an ELF parser.
|
||||
|
||||
Such information includes:
|
||||
* The offset and size of the read-write (.data, .bss) and read-exec
|
||||
(.text, .rodata) segments both in the file (source) and in virtual
|
||||
memory (destination).
|
||||
* The entry point address.
|
||||
|
||||
The following structure can be found at the beginning of the EXEC tag.
|
||||
Any *_faddr variables are offsets relative to the beginning of the tag.
|
||||
|
||||
struct ec3_exec_aux {
|
||||
uint8_t e_type; // EXEC_ELF, EXEC_FLAT, etc
|
||||
|
||||
union {
|
||||
struct {
|
||||
uintptr_t rx_segment_faddr, rx_segment_vaddr;
|
||||
size_t rx_segment_fsize, rx_segment_vsize;
|
||||
|
||||
uintptr_t rw_segment_faddr, rw_segment_vaddr;
|
||||
size_t rw_segment_fsize, rw_segment_vsize;
|
||||
|
||||
uintptr_t entry;
|
||||
} i_elf;
|
||||
|
||||
struct {
|
||||
uintptr_t base;
|
||||
uintptr_t entry;
|
||||
} i_flat;
|
||||
} e_info;
|
||||
}
|
||||
|
||||
As long as you aren't reading any volumes, the EC3 image format is simple
|
||||
enough that finding the EXEC tag and reading its contents is a trivial
|
||||
operation. This minimises the amount of code needed in the kernel to find
|
||||
the bootstrap program.
|
||||
|
||||
The auxiliary information in the EXEC tag is enough for the kernel to copy
|
||||
the executable into memory, set the appropriate memory permissions, and
|
||||
jump to the entry point.
|
||||
|
||||
|
||||
3 Userland Bootstrap
|
||||
--------------------
|
||||
|
||||
The userland bootstrap program (or "userboot") is responsible for making
|
||||
available the boot filesystem and starting the system management task.
|
||||
|
||||
Any kernel tasks have a negative task ID, and the userland bootstrap task
|
||||
will always be given a task ID of zero. Therefore, the first task spawned by
|
||||
userboot will always have a task ID of 1.
|
||||
|
||||
Once the system management process is started, userboot can (but doesn't HAVE
|
||||
to) exit. The system management task will automatically become the root of
|
||||
the task tree.
|
||||
|
||||
If userboot exits without spawning any other tasks, the action taken will
|
||||
depend on the command-line arguments given to the kernel.
|
||||
|
||||
Some options include:
|
||||
* Shut the system down
|
||||
* Restart the system
|
||||
* Trigger a kernel panic
|
||||
|
||||
In most cases, userboot will remain running, providing the system management
|
||||
task with access to the boot filesystem until other drivers are online, at
|
||||
which point the bootstrap program will exit.
|
||||
|
||||
In more specialised cases, userboot can remain running for the life of the
|
||||
system. It can wait for the task it spawns to exit before taking some action.
|
||||
|
||||
This is useful for automated testing. The bootstrap program can run a program
|
||||
that will run the test suite (or could itself be a test suite program), wait
|
||||
for the tests to finish, and then shut down the system.
|
||||
|
||||
|
||||
3 System Management Task
|
||||
------------------------
|
||||
|
||||
The system management task will be in charge of the system for the entire
|
||||
time the system is up. It is responsible for starting device drivers and
|
||||
setting up an environment for the system to carry out its intended purpose
|
||||
(i.e. handling interactive user sessions).
|
||||
|
||||
Of course, the system management task can (and certainly should) delegate
|
||||
these tasks to other system services.
|
||||
|
||||
On Rosetta-based systems, system management duties are handled by the systemd
|
||||
daemon. systemd fulfills a few important roles, including:
|
||||
1) managing system services, and restarting them if they fail.
|
||||
2) loading and launching executables.
|
||||
3) managing the system namespace.
|
||||
|
||||
userboot sends commands to systemd to bring up the rest of the userland
|
||||
environment. During this process, systemd maintains a connection to userboot
|
||||
to load files from the boot filesystem. You might think that having two tasks
|
||||
communicate with each other (violating the strict one-way client-server
|
||||
message flow) would result in deadlocks, but a few key design choices in
|
||||
userboot and systemd avoid this.
|
||||
|
||||
technically, there is nothing wrong with two tasks waiting on each other, as
|
||||
long as two THREADS within those tasks don't end up (directly or indirectly)
|
||||
waiting on each other.
|
||||
|
||||
therefore, to ensure that this principle is not violated:
|
||||
1) systemd performs all process-launching activities and request-handling
|
||||
activities on separate threads that never wait on each other. when a
|
||||
request is received to launch a new process, systemd's request-handler
|
||||
thread dispatches the request (and the responsibility to respond to the
|
||||
client) to a separate loader thread. this allows systemd to continue
|
||||
servicing other requests (including filesystem requests from its own
|
||||
loader threads).
|
||||
2) userboot performs all system startup activities (including sending
|
||||
commands to systemd) and filesystem request-handing activities on
|
||||
separate threads that never wait on each other.
|
||||
|
||||
because of this, despite the circular communications between userboot and
|
||||
systemd, messages between the two tasks still technically only travel in a
|
||||
single direction when you consider their individual threads:
|
||||
|
||||
userboot[init] -----> systemd[req-handler]
|
||||
| :
|
||||
═════NO═COMMUNICATION═════ : (async task dispatch)
|
||||
| v
|
||||
userboot[fs-handler] <----- systemd[launcher]
|
||||
|
||||
key:
|
||||
task-name[thread-name]
|
||||
---> Request/reply exchange (the arrow points toward the request
|
||||
recipient)
|
||||
...> Non-blocking action (e.g. scheduling another thread to run)
|
||||
|
||||
technically, systemd[req-handler] schedules systemd[launcher] to run and
|
||||
doesn't wait on it. therefore, if userboot[init] sends a request to
|
||||
systemd[req-handler] to launch a server, it will receive a reply from
|
||||
systemd[launcher].
|
||||
|
||||
Because of the fixed order in which userboot and systemd are started, and
|
||||
the deterministic assignment of task IDs mentioned in the USERLAND BOOTSTRAP
|
||||
section, the channels that the two tasks use to communicate with each other
|
||||
have well-defined locations:
|
||||
|
||||
* userboot always has TID 0, and always hosts the boot filesystem on its
|
||||
first channel, giving a tuple of (nd:0, tid:0, chid:0).
|
||||
* systemd always has TID 1, and always hosts its system management
|
||||
interface on its first channel, giving a tuple of (nd:0, tid:1, chid:0).
|
||||
|
||||
|
||||
5 From Userboot to the Root Filesystem
|
||||
--------------------------------------
|
||||
|
||||
Now that we are familiar with the inner workings of these two critical tasks,
|
||||
lets go through the steps taken to bring up the full userland environment:
|
||||
|
||||
1) when userboot starts, it is given (by the kernel) a handle to a pagebuf
|
||||
object containing the initrd. userboot maps this pagebuf into its
|
||||
address space and mounts the initrd[1].
|
||||
2) userboot creates a new task to run the system management service.
|
||||
userboot contains just enough ELF-related code to do one of the
|
||||
following:
|
||||
* if the system management executable is statically-linked, simply copy
|
||||
the relevant ELF segments into the new task's address space and
|
||||
create a thread that will start running at the executable's entry
|
||||
point.
|
||||
* if the system management executable is dynamically-linked (the more
|
||||
likely scenario), load the dynamic linker[2] into the new task's
|
||||
address space and creates a new thread that will start running at the
|
||||
dynamic linker's entry point.
|
||||
3) systemd initialises the system namespace and mounts the boot filesystem
|
||||
provided by userboot at '/', temporarily making it the root filesystem.
|
||||
4) systemd starts the device manager service, emdevd, and instructs it
|
||||
to scan the system devices. this blocks systemd until the scan is
|
||||
complete.
|
||||
5) in response to a scan command, emdevd uses whatever drivers are
|
||||
available in the current root filesystem to find and initialise as many
|
||||
devices as possible. because the boot filesystem only contains the
|
||||
drivers needed to mount the root filesystem, this scan will be
|
||||
far from complete, but it will be repeated once the real root
|
||||
filesystem is available.
|
||||
6) eventually the scan will complete, and emdevd will return control
|
||||
back to systemd. at this point, the storage device containing the
|
||||
root filesystem has been found and brought online.
|
||||
7) emdevd provides a devfs-like interface to all the devices on the
|
||||
system. systemd mounts this pseudo-filesystem at '/dev' in the
|
||||
system namespace.
|
||||
8) systemd starts an instance of the filesystem server, fsd, and provides
|
||||
it with three parameters:
|
||||
* the path to the device node containing the root filesystem (e.g.
|
||||
'/dev/disk0s1')
|
||||
* the name of the filesystem format to be mounted (e.g. 'ext2')
|
||||
* the mount flags (the root filesystem is always mounted read-only
|
||||
during boot. once /etc/fstab is accessible, the root filesystem
|
||||
is re-mounted with the flags it specifies)
|
||||
9) fsd will load the necessary filesystem driver (e.g. for ext2
|
||||
filesystems, fsd will load fs-ext2.so) and mount the filesystem
|
||||
on the provided device.
|
||||
10) systemd mounts the filesystem provided by fsd to the root of
|
||||
the system namespace. at this point, the root filesystem is now
|
||||
available (albeit read-only for now).
|
||||
|
||||
Notes:
|
||||
[1] In this case, mounting doesn't involve the system namespace (until
|
||||
systemd starts up, there *is* no system namespace), but rather
|
||||
userboot creating any data structures it needs to be able to privately
|
||||
locate and read files within the boot image.
|
||||
[2] despite being a .so file, the dynamic linker is designed to be a
|
||||
self-contained position-independent executable with no external
|
||||
dependencies, in order to avoid a chicken-and-egg situation where the
|
||||
dynamic linker itself requires a dynamic linker to load. the only
|
||||
functionality required to load it (beyond copying its code and data
|
||||
into memory) is finding and iterating through the DYNAMIC segment,
|
||||
processing any relocation entries contained within.
|
||||
|
||||
|
||||
6 Runlevels
|
||||
-----------
|
||||
|
||||
the state of the system, and what functionality the system has, depends on
|
||||
which services are running. For example:
|
||||
* without deviced or fsd, no filesystems are available.
|
||||
* without lockdownd, user authentication and authorisation is not
|
||||
available.
|
||||
* without airportd, network connectivity is not available.
|
||||
* without seatd, multiplexing of peripherals between multiple user
|
||||
sessions is not available.
|
||||
* without sessiond, user sessions are not available.
|
||||
... and so on.
|
||||
|
||||
different sets of services can be brought online to tailor the available
|
||||
functionality. under systemd, these sets of services are called runlevels.
|
||||
runlevels are hierarchical, with higher runlevels building upon the
|
||||
functionality provided by lower runlevels. as the runlevel increases, the
|
||||
number of system services running on the machine increases.
|
||||
|
||||
|
||||
6.1 Pre-defined Runlevels
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Rosetta has a range of pre-defined runlevels:
|
||||
* Off:
|
||||
- Instructing systemd to move to this runlevel will shut the system down.
|
||||
* Minimal:
|
||||
- Only the root filesystem is available, and is read-only.
|
||||
- All device drivers are loaded, and all devices are visible.
|
||||
- All network interfaces are down, and no socket I/O is possible.
|
||||
- The security service is offline, so no authentication or authorisation
|
||||
checks can be performed, and the interactive user is effectively root.
|
||||
- Neither the session nor seat managers are online, so only one session
|
||||
is supported.
|
||||
- A basic console and shell are started to allow the user to interact
|
||||
with the system.
|
||||
* Single-User: Same as Minimal, except:
|
||||
- all filesystems mounts prescribed by /etc/fstab are performed.
|
||||
* Multi-User: Same as Single-User, except:
|
||||
- The security service is running, allowing user authentication.
|
||||
- System security and permissions are now enforced.
|
||||
- The seat and session manager services are running, allowing multiple
|
||||
user sessions to be running simultaneously.
|
||||
- instead of dropping straight into a shell, the interactive user is
|
||||
presented with a text-based login prompt before their shell is
|
||||
launched.
|
||||
* Networking: Same as Multi-User, except:
|
||||
- The networking service is running, and all network interfaces are
|
||||
brought up and configured according to system configuration.
|
||||
* Full Mode: Same as Networking, except:
|
||||
- The system's display manager is running, allowing for logging in
|
||||
and interacting with the system via a graphical user interface.
|
||||
|
||||
In most circumstances, the system will be running in one of the runlevels
|
||||
based on Multi-User. Not only does this enable most of the "usual" system
|
||||
functionality, but it also enforces user authentication and authorisation.
|
||||
The lower runlevels are mostly used for system administration and
|
||||
troubleshooting when there is a problem preventing the system from reaching
|
||||
a higher runlevel.
|
||||
|
||||
|
||||
6.2 How Runlevels Affect Security Enforcement
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
User authentication and authorisation depend on the system security service
|
||||
(lockdownd). Without it, no users can log on to the system, and no permission
|
||||
checks can be performed. So, how does a system behave when lockdownd isn't
|
||||
running?
|
||||
|
||||
There are a few circumstances where lockdownd may be offline, some
|
||||
intentional and some unintentional. The system may be booted in Minimal or
|
||||
Single-User mode. These runlevels don't start lockdownd as the interactive
|
||||
user is root by default. However, lockdownd may crash while running on a
|
||||
multi-user system.
|
||||
|
||||
So if you are an application or service running on a Rosetta system, and your
|
||||
attempt to connect to the security service fails because the service has
|
||||
stopped working, or was never running in the first place, what do you do?
|
||||
|
||||
The system management service keeps track of what runlevel the system is
|
||||
currently running at, and anyone can contact the service to query this
|
||||
information. So, you can take action depending on the system runlevel:
|
||||
* If the runlevel is Single-User or below, you know that system security
|
||||
is not being enforced, so there is no need to contact the security
|
||||
service.
|
||||
* If the runlevel is Multi-User or higher, you know that system security
|
||||
is (or should be) enforced. If the security service cannot be reached
|
||||
in this case, you should wait for the system management service to
|
||||
(re)start it. In the worst case scenario, where the security service
|
||||
cannot be started, all authentication and authorisation actions should
|
||||
be presumed to fail, so that there is never a lapse in security.
|
||||
|
||||
|
||||
7 From the Root Filesystem to User Interaction
|
||||
----------------------------------------------
|
||||
|
||||
Now that the root filesystem is available, we can start bringing other
|
||||
system components online. This process culminates in an interactive user
|
||||
session.
|
||||
|
||||
1) systemd instructs emdevd to perform another scan of the system devices.
|
||||
with a wider range of drivers now available, (hopefully) all devices
|
||||
will now be detected and initialised.
|
||||
2) systemd will now start working towards reaching a target runlevel.
|
||||
right now, the system is running at the Minimum runlevel. For the
|
||||
purposes of this document, let's assume that the target runlevel is
|
||||
Networking, and the system will move through the Single-User and Multi-
|
||||
User runlevels to get there.
|
||||
3) In order to reach the Single-User runlevel, the filesystem mounts
|
||||
specified in /etc/fstab must be performed. The Single-User runlevel
|
||||
defines a script for systemd to execute, which performs the necessary
|
||||
mount operations.
|
||||
4) The Multi-User runlevel is more complex and will require starting a
|
||||
range of services.
|
||||
5) First, the security service, lockdownd, is brought online. This is the
|
||||
pivotal service that converts the system from single-user to multi-user.
|
||||
|
||||
|
||||
vim: shiftwidth=3 expandtab
|
||||
90
doc/filesystem.txt
Executable file
90
doc/filesystem.txt
Executable file
@@ -0,0 +1,90 @@
|
||||
/ [nsd:0, fsd:0] (drivers/fs/fs-ec3.so)
|
||||
|--svc [nsd:0]
|
||||
| |--os.SystemManager -> overlordd
|
||||
| |--os.Launcher -> launchd
|
||||
| |--os.SeatManager -> seatd
|
||||
| |--os.NetworkManager -> airportd
|
||||
| |--os.DeviceManager -> emdevd
|
||||
| \--os.SecurityManager -> lockdownd
|
||||
|--dev [emdevd:0]
|
||||
| |--zero (drivers/char/io-misc.so)
|
||||
| |--null (drivers/char/io-misc.so)
|
||||
| |--random (drivers/char/io-random.so)
|
||||
| |--urandom (drivers/char/io-random.so)
|
||||
| |--bus
|
||||
| | |--pci (drivers/bus/io-pci.so)
|
||||
| | | |--0000:00:00.0
|
||||
| | | |--0000:00:02.0
|
||||
| | | |--0000:00:05.0
|
||||
| | | | ...
|
||||
| | | \--0000:ff:16.7
|
||||
| | |--acpi (drivers/bus/io-acpi.so)
|
||||
| | | |--PNP0A03
|
||||
| | | |--PNP0C0B
|
||||
| | | |--PNP0900
|
||||
| | | | ...
|
||||
| | | \--PNP0500
|
||||
| | \--usb (drivers/bus/io-xhci.so)
|
||||
| | |--1-0:1.0
|
||||
| | |--1-1
|
||||
| | |--1-1:1.0
|
||||
| | | ...
|
||||
| | \--4-6:1.0
|
||||
| |--block
|
||||
| | |--disk0 (drivers/block/io-ahci.so)
|
||||
| | |--disk0s0 (drivers/block/io-block.so)
|
||||
| | |--disk0s1 (drivers/block/io-block.so)
|
||||
| | |--disk1 (drivers/block/io-xhci.so)
|
||||
| | \--disk1s0 (drivers/block/io-block.so)
|
||||
| |--char
|
||||
| | |--ser0 (drivers/char/io-serial.so)
|
||||
| | |--ser1 (drivers/char/io-serial.so)
|
||||
| | |--ser2 (drivers/char/io-serial.so)
|
||||
| | \--ser3 (drivers/char/io-serial.so)
|
||||
| |--input
|
||||
| | |--event0 (drivers/input/io-ps2.so)
|
||||
| | \--event1 (drivers/input/io-ps2.so)
|
||||
| |--net
|
||||
| | |--eth0 (drivers/net/io-e1000.so)
|
||||
| | \--wlan0 (drivers/net/io-b43.so)
|
||||
| \--video
|
||||
| \--card0 (drivers/video/gfx-vga.so)
|
||||
|--home
|
||||
| \--max
|
||||
| |--Downloads
|
||||
| \--Documents
|
||||
|--boot
|
||||
| |--mango_kernel
|
||||
| \--initrd.ec3
|
||||
|--usr
|
||||
| \--lib
|
||||
| |--libsystem.so
|
||||
| \--drivers
|
||||
| |--bus
|
||||
| | |--io-pci.so
|
||||
| | |--io-acpi.so
|
||||
| | \--io-xhci.so
|
||||
| |--block
|
||||
| | |--io-ahci.so
|
||||
| | \--io-block.so
|
||||
| |--char
|
||||
| | \--io-serial.so
|
||||
| |--input
|
||||
| | \--io-ps2.so
|
||||
| |--video
|
||||
| | \--gfx-vga.so
|
||||
| |--net
|
||||
| | |--io-e1000.so
|
||||
| | \--io-b43.so
|
||||
| \--fs
|
||||
| |--fs-ext2.so
|
||||
| |--fs-fat32.so
|
||||
| \--fs-ec3.so
|
||||
|--net [airportd:0]
|
||||
| |--node1
|
||||
| | \-- ...
|
||||
| \--node2
|
||||
| \-- ...
|
||||
\--vol
|
||||
|--disk1 [fsd:0] (drivers/fs/fs-ext2.so)
|
||||
\--disk2 [fsd:1] (drivers/fs/fs-fat32.so)
|
||||
468
doc/ld-linux.txt
Executable file
468
doc/ld-linux.txt
Executable file
@@ -0,0 +1,468 @@
|
||||
ELF Header:
|
||||
Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00
|
||||
Class: ELF64
|
||||
Data: 2's complement, little endian
|
||||
Version: 1 (current)
|
||||
OS/ABI: UNIX - GNU
|
||||
ABI Version: 0
|
||||
Type: DYN (Shared object file)
|
||||
Machine: Advanced Micro Devices X86-64
|
||||
Version: 0x1
|
||||
Entry point address: 0x20290
|
||||
Start of program headers: 64 (bytes into file)
|
||||
Start of section headers: 239208 (bytes into file)
|
||||
Flags: 0x0
|
||||
Size of this header: 64 (bytes)
|
||||
Size of program headers: 56 (bytes)
|
||||
Number of program headers: 11
|
||||
Size of section headers: 64 (bytes)
|
||||
Number of section headers: 27
|
||||
Section header string table index: 26
|
||||
|
||||
Section Headers:
|
||||
[Nr] Name Type Address Offset
|
||||
Size EntSize Flags Link Info Align
|
||||
[ 0] NULL 0000000000000000 00000000
|
||||
0000000000000000 0000000000000000 0 0 0
|
||||
[ 1] .note.gnu.pr[...] NOTE 00000000000002a8 000002a8
|
||||
0000000000000020 0000000000000000 A 0 0 8
|
||||
[ 2] .note.gnu.bu[...] NOTE 00000000000002c8 000002c8
|
||||
0000000000000024 0000000000000000 A 0 0 4
|
||||
[ 3] .hash HASH 00000000000002f0 000002f0
|
||||
000000000000013c 0000000000000004 A 5 0 8
|
||||
[ 4] .gnu.hash GNU_HASH 0000000000000430 00000430
|
||||
0000000000000160 0000000000000000 A 5 0 8
|
||||
[ 5] .dynsym DYNSYM 0000000000000590 00000590
|
||||
00000000000003c0 0000000000000018 A 6 1 8
|
||||
[ 6] .dynstr STRTAB 0000000000000950 00000950
|
||||
00000000000002c1 0000000000000000 A 0 0 1
|
||||
[ 7] .gnu.version VERSYM 0000000000000c12 00000c12
|
||||
0000000000000050 0000000000000002 A 5 0 2
|
||||
[ 8] .gnu.version_d VERDEF 0000000000000c68 00000c68
|
||||
00000000000000ec 0000000000000000 A 6 7 8
|
||||
[ 9] .rela.dyn RELA 0000000000000d58 00000d58
|
||||
0000000000000d98 0000000000000018 A 5 0 8
|
||||
[10] .rela.plt RELA 0000000000001af0 00001af0
|
||||
0000000000000060 0000000000000018 AI 5 21 8
|
||||
[11] .plt PROGBITS 0000000000002000 00002000
|
||||
0000000000000050 0000000000000010 AX 0 0 16
|
||||
[12] .plt.sec PROGBITS 0000000000002050 00002050
|
||||
0000000000000040 0000000000000010 AX 0 0 16
|
||||
[13] .text PROGBITS 0000000000002090 00002090
|
||||
0000000000029285 0000000000000000 AX 0 0 16
|
||||
[14] .rodata PROGBITS 000000000002c000 0002c000
|
||||
0000000000006fc0 0000000000000000 A 0 0 32
|
||||
[15] .stapsdt.base PROGBITS 0000000000032fc0 00032fc0
|
||||
0000000000000001 0000000000000000 A 0 0 1
|
||||
[16] .eh_frame_hdr PROGBITS 0000000000032fc4 00032fc4
|
||||
0000000000000944 0000000000000000 A 0 0 4
|
||||
[17] .eh_frame PROGBITS 0000000000033908 00033908
|
||||
000000000000362c 0000000000000000 A 0 0 8
|
||||
[18] .data.rel.ro PROGBITS 0000000000038620 00037620
|
||||
0000000000001860 0000000000000000 WA 0 0 32
|
||||
[19] .dynamic DYNAMIC 0000000000039e80 00038e80
|
||||
0000000000000170 0000000000000010 WA 6 0 8
|
||||
[20] .got PROGBITS 0000000000039ff0 00038ff0
|
||||
0000000000000010 0000000000000008 WA 0 0 8
|
||||
[21] .got.plt PROGBITS 000000000003a000 00039000
|
||||
0000000000000038 0000000000000008 WA 0 0 8
|
||||
[22] .data PROGBITS 000000000003a040 00039040
|
||||
00000000000010d0 0000000000000000 WA 0 0 32
|
||||
[23] .bss NOBITS 000000000003b110 0003a110
|
||||
00000000000001c8 0000000000000000 WA 0 0 16
|
||||
[24] .note.stapsdt NOTE 0000000000000000 0003a110
|
||||
0000000000000420 0000000000000000 0 0 4
|
||||
[25] .gnu_debuglink PROGBITS 0000000000000000 0003a530
|
||||
0000000000000034 0000000000000000 0 0 4
|
||||
[26] .shstrtab STRTAB 0000000000000000 0003a564
|
||||
0000000000000104 0000000000000000 0 0 1
|
||||
Key to Flags:
|
||||
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
|
||||
L (link order), O (extra OS processing required), G (group), T (TLS),
|
||||
C (compressed), x (unknown), o (OS specific), E (exclude),
|
||||
R (retain), D (mbind), l (large), p (processor specific)
|
||||
|
||||
There are no section groups in this file.
|
||||
|
||||
Program Headers:
|
||||
Type Offset VirtAddr PhysAddr
|
||||
FileSiz MemSiz Flags Align
|
||||
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
|
||||
0x0000000000001b50 0x0000000000001b50 R 0x1000
|
||||
LOAD 0x0000000000002000 0x0000000000002000 0x0000000000002000
|
||||
0x0000000000029315 0x0000000000029315 R E 0x1000
|
||||
LOAD 0x000000000002c000 0x000000000002c000 0x000000000002c000
|
||||
0x000000000000af34 0x000000000000af34 R 0x1000
|
||||
LOAD 0x0000000000037620 0x0000000000038620 0x0000000000038620
|
||||
0x0000000000002af0 0x0000000000002cb8 RW 0x1000
|
||||
DYNAMIC 0x0000000000038e80 0x0000000000039e80 0x0000000000039e80
|
||||
0x0000000000000170 0x0000000000000170 RW 0x8
|
||||
NOTE 0x00000000000002a8 0x00000000000002a8 0x00000000000002a8
|
||||
0x0000000000000020 0x0000000000000020 R 0x8
|
||||
NOTE 0x00000000000002c8 0x00000000000002c8 0x00000000000002c8
|
||||
0x0000000000000024 0x0000000000000024 R 0x4
|
||||
GNU_PROPERTY 0x00000000000002a8 0x00000000000002a8 0x00000000000002a8
|
||||
0x0000000000000020 0x0000000000000020 R 0x8
|
||||
GNU_EH_FRAME 0x0000000000032fc4 0x0000000000032fc4 0x0000000000032fc4
|
||||
0x0000000000000944 0x0000000000000944 R 0x4
|
||||
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
|
||||
0x0000000000000000 0x0000000000000000 RW 0x10
|
||||
GNU_RELRO 0x0000000000037620 0x0000000000038620 0x0000000000038620
|
||||
0x00000000000019e0 0x00000000000019e0 R 0x1
|
||||
|
||||
Section to Segment mapping:
|
||||
Segment Sections...
|
||||
00 .note.gnu.property .note.gnu.build-id .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .rela.dyn .rela.plt
|
||||
01 .plt .plt.sec .text
|
||||
02 .rodata .stapsdt.base .eh_frame_hdr .eh_frame
|
||||
03 .data.rel.ro .dynamic .got .got.plt .data .bss
|
||||
04 .dynamic
|
||||
05 .note.gnu.property
|
||||
06 .note.gnu.build-id
|
||||
07 .note.gnu.property
|
||||
08 .eh_frame_hdr
|
||||
09
|
||||
10 .data.rel.ro .dynamic .got
|
||||
|
||||
Dynamic section at offset 0x38e80 contains 19 entries:
|
||||
Tag Type Name/Value
|
||||
0x000000000000000e (SONAME) Library soname: [ld-linux-x86-64.so.2]
|
||||
0x0000000000000004 (HASH) 0x2f0
|
||||
0x000000006ffffef5 (GNU_HASH) 0x430
|
||||
0x0000000000000005 (STRTAB) 0x950
|
||||
0x0000000000000006 (SYMTAB) 0x590
|
||||
0x000000000000000a (STRSZ) 705 (bytes)
|
||||
0x000000000000000b (SYMENT) 24 (bytes)
|
||||
0x0000000000000003 (PLTGOT) 0x3a000
|
||||
0x0000000000000002 (PLTRELSZ) 96 (bytes)
|
||||
0x0000000000000014 (PLTREL) RELA
|
||||
0x0000000000000017 (JMPREL) 0x1af0
|
||||
0x0000000000000007 (RELA) 0xd58
|
||||
0x0000000000000008 (RELASZ) 3480 (bytes)
|
||||
0x0000000000000009 (RELAENT) 24 (bytes)
|
||||
0x000000006ffffffc (VERDEF) 0xc68
|
||||
0x000000006ffffffd (VERDEFNUM) 7
|
||||
0x000000006ffffff0 (VERSYM) 0xc12
|
||||
0x000000006ffffff9 (RELACOUNT) 142
|
||||
0x0000000000000000 (NULL) 0x0
|
||||
|
||||
Relocation section '.rela.dyn' at offset 0xd58 contains 145 entries:
|
||||
Offset Info Type Sym. Value Sym. Name + Addend
|
||||
000000038620 000000000008 R_X86_64_RELATIVE 2f041
|
||||
000000038628 000000000008 R_X86_64_RELATIVE 2e8c9
|
||||
000000038630 000000000008 R_X86_64_RELATIVE 2e8af
|
||||
000000038638 000000000008 R_X86_64_RELATIVE 2f049
|
||||
000000038640 000000000008 R_X86_64_RELATIVE 2f059
|
||||
000000038648 000000000008 R_X86_64_RELATIVE 2e8e1
|
||||
000000038650 000000000008 R_X86_64_RELATIVE 2f071
|
||||
000000038658 000000000008 R_X86_64_RELATIVE 2f08b
|
||||
000000038660 000000000008 R_X86_64_RELATIVE 2f0a2
|
||||
000000038668 000000000008 R_X86_64_RELATIVE 2f0b4
|
||||
000000038670 000000000008 R_X86_64_RELATIVE 2f0c8
|
||||
000000038678 000000000008 R_X86_64_RELATIVE 32b48
|
||||
000000038680 000000000008 R_X86_64_RELATIVE 2e887
|
||||
000000038688 000000000008 R_X86_64_RELATIVE 2e8f4
|
||||
000000038690 000000000008 R_X86_64_RELATIVE 2f0db
|
||||
000000038698 000000000008 R_X86_64_RELATIVE 2f0e7
|
||||
0000000386a0 000000000008 R_X86_64_RELATIVE 2f0fd
|
||||
0000000386a8 000000000008 R_X86_64_RELATIVE 2f115
|
||||
0000000386b0 000000000008 R_X86_64_RELATIVE 2f121
|
||||
0000000386b8 000000000008 R_X86_64_RELATIVE 2f13b
|
||||
0000000386c0 000000000008 R_X86_64_RELATIVE 2f14a
|
||||
0000000386c8 000000000008 R_X86_64_RELATIVE 2f15a
|
||||
0000000386d0 000000000008 R_X86_64_RELATIVE 2e89e
|
||||
0000000386d8 000000000008 R_X86_64_RELATIVE 2f169
|
||||
0000000386e0 000000000008 R_X86_64_RELATIVE 2f187
|
||||
0000000386e8 000000000008 R_X86_64_RELATIVE 32b70
|
||||
0000000386f0 000000000008 R_X86_64_RELATIVE 2f19b
|
||||
0000000386f8 000000000008 R_X86_64_RELATIVE 2f1aa
|
||||
000000038700 000000000008 R_X86_64_RELATIVE 2f1b9
|
||||
000000038708 000000000008 R_X86_64_RELATIVE 2f1d1
|
||||
000000038710 000000000008 R_X86_64_RELATIVE 2f1de
|
||||
000000038718 000000000008 R_X86_64_RELATIVE 2f1f4
|
||||
000000038720 000000000008 R_X86_64_RELATIVE 2f203
|
||||
000000038728 000000000008 R_X86_64_RELATIVE 32b90
|
||||
000000038730 000000000008 R_X86_64_RELATIVE 2f20f
|
||||
000000038738 000000000008 R_X86_64_RELATIVE 2f22d
|
||||
000000038740 000000000008 R_X86_64_RELATIVE 2f247
|
||||
000000038748 000000000008 R_X86_64_RELATIVE 2f25a
|
||||
000000038750 000000000008 R_X86_64_RELATIVE 2f26d
|
||||
000000038758 000000000008 R_X86_64_RELATIVE 2f286
|
||||
000000038760 000000000008 R_X86_64_RELATIVE 32bb8
|
||||
000000038770 000000000008 R_X86_64_RELATIVE 2f29a
|
||||
000000038778 000000000008 R_X86_64_RELATIVE 2f2b5
|
||||
000000038780 000000000008 R_X86_64_RELATIVE 2f2c8
|
||||
000000038788 000000000008 R_X86_64_RELATIVE 2f2e4
|
||||
000000038790 000000000008 R_X86_64_RELATIVE 2f2fd
|
||||
000000038798 000000000008 R_X86_64_RELATIVE 2f30c
|
||||
0000000387a0 000000000008 R_X86_64_RELATIVE 2f31a
|
||||
0000000387a8 000000000008 R_X86_64_RELATIVE 2f333
|
||||
0000000387b0 000000000008 R_X86_64_RELATIVE 2f350
|
||||
0000000387b8 000000000008 R_X86_64_RELATIVE 2f36b
|
||||
0000000387c0 000000000008 R_X86_64_RELATIVE 2f37a
|
||||
0000000387c8 000000000008 R_X86_64_RELATIVE 2f38b
|
||||
0000000387d0 000000000008 R_X86_64_RELATIVE 2f3a6
|
||||
0000000387d8 000000000008 R_X86_64_RELATIVE 2f3b4
|
||||
0000000387e0 000000000008 R_X86_64_RELATIVE 2f3bd
|
||||
0000000387e8 000000000008 R_X86_64_RELATIVE 2f3d2
|
||||
0000000387f8 000000000008 R_X86_64_RELATIVE 2f3df
|
||||
000000038800 000000000008 R_X86_64_RELATIVE 2f3f4
|
||||
000000038808 000000000008 R_X86_64_RELATIVE 2f408
|
||||
000000038810 000000000008 R_X86_64_RELATIVE 2f41a
|
||||
000000038818 000000000008 R_X86_64_RELATIVE 2f428
|
||||
000000038820 000000000008 R_X86_64_RELATIVE 2f441
|
||||
000000038828 000000000008 R_X86_64_RELATIVE 2f45f
|
||||
000000038830 000000000008 R_X86_64_RELATIVE 2f475
|
||||
000000038838 000000000008 R_X86_64_RELATIVE 2f486
|
||||
000000038840 000000000008 R_X86_64_RELATIVE 2f49c
|
||||
000000038848 000000000008 R_X86_64_RELATIVE 2f4ac
|
||||
000000038850 000000000008 R_X86_64_RELATIVE 2f4ba
|
||||
000000038858 000000000008 R_X86_64_RELATIVE 2f4d6
|
||||
000000038860 000000000008 R_X86_64_RELATIVE 2f4e5
|
||||
000000038868 000000000008 R_X86_64_RELATIVE 2f4f8
|
||||
000000038870 000000000008 R_X86_64_RELATIVE 2f50b
|
||||
000000038878 000000000008 R_X86_64_RELATIVE 32be0
|
||||
000000038880 000000000008 R_X86_64_RELATIVE 2f517
|
||||
000000038888 000000000008 R_X86_64_RELATIVE 2f532
|
||||
000000038890 000000000008 R_X86_64_RELATIVE 2f54f
|
||||
000000038898 000000000008 R_X86_64_RELATIVE 32c08
|
||||
0000000388a0 000000000008 R_X86_64_RELATIVE 32c30
|
||||
0000000388a8 000000000008 R_X86_64_RELATIVE 32c58
|
||||
0000000388b0 000000000008 R_X86_64_RELATIVE 32c78
|
||||
0000000388b8 000000000008 R_X86_64_RELATIVE 32ca8
|
||||
0000000388c0 000000000008 R_X86_64_RELATIVE 32cd0
|
||||
0000000388c8 000000000008 R_X86_64_RELATIVE 32d08
|
||||
0000000388d0 000000000008 R_X86_64_RELATIVE 2f566
|
||||
0000000388d8 000000000008 R_X86_64_RELATIVE 2f579
|
||||
0000000388e0 000000000008 R_X86_64_RELATIVE 32d38
|
||||
0000000388e8 000000000008 R_X86_64_RELATIVE 2f588
|
||||
0000000388f0 000000000008 R_X86_64_RELATIVE 2f5a5
|
||||
0000000388f8 000000000008 R_X86_64_RELATIVE 32d58
|
||||
000000038900 000000000008 R_X86_64_RELATIVE 2f5b6
|
||||
000000038908 000000000008 R_X86_64_RELATIVE 2f5cd
|
||||
000000038910 000000000008 R_X86_64_RELATIVE 2f5e4
|
||||
000000038918 000000000008 R_X86_64_RELATIVE 2f5fe
|
||||
000000038920 000000000008 R_X86_64_RELATIVE 2f616
|
||||
000000038928 000000000008 R_X86_64_RELATIVE 32d78
|
||||
000000038930 000000000008 R_X86_64_RELATIVE 2f634
|
||||
000000038938 000000000008 R_X86_64_RELATIVE 32da8
|
||||
000000038940 000000000008 R_X86_64_RELATIVE 2f64b
|
||||
000000038948 000000000008 R_X86_64_RELATIVE 2f65b
|
||||
000000038950 000000000008 R_X86_64_RELATIVE 32dc8
|
||||
000000038958 000000000008 R_X86_64_RELATIVE 32df0
|
||||
000000038960 000000000008 R_X86_64_RELATIVE 2f672
|
||||
000000038968 000000000008 R_X86_64_RELATIVE 2f68b
|
||||
000000038970 000000000008 R_X86_64_RELATIVE 32e18
|
||||
000000038978 000000000008 R_X86_64_RELATIVE 32e40
|
||||
000000038980 000000000008 R_X86_64_RELATIVE 32e68
|
||||
000000038988 000000000008 R_X86_64_RELATIVE 32e98
|
||||
000000038990 000000000008 R_X86_64_RELATIVE 2f6a5
|
||||
000000038998 000000000008 R_X86_64_RELATIVE 2f6ba
|
||||
0000000389a0 000000000008 R_X86_64_RELATIVE 2f6cd
|
||||
0000000389a8 000000000008 R_X86_64_RELATIVE 2f6da
|
||||
0000000389b0 000000000008 R_X86_64_RELATIVE 2f6eb
|
||||
0000000389b8 000000000008 R_X86_64_RELATIVE 2f709
|
||||
0000000389c0 000000000008 R_X86_64_RELATIVE 2f723
|
||||
0000000389c8 000000000008 R_X86_64_RELATIVE 2f735
|
||||
0000000389d0 000000000008 R_X86_64_RELATIVE 2f74e
|
||||
0000000389d8 000000000008 R_X86_64_RELATIVE 2f76a
|
||||
0000000389e0 000000000008 R_X86_64_RELATIVE 2f788
|
||||
0000000389e8 000000000008 R_X86_64_RELATIVE 2f79d
|
||||
0000000389f0 000000000008 R_X86_64_RELATIVE 2f7ae
|
||||
0000000389f8 000000000008 R_X86_64_RELATIVE 2f7c2
|
||||
000000038a00 000000000008 R_X86_64_RELATIVE 2f7d2
|
||||
000000038a08 000000000008 R_X86_64_RELATIVE 2f7e4
|
||||
000000038a10 000000000008 R_X86_64_RELATIVE 2f7f7
|
||||
000000038a18 000000000008 R_X86_64_RELATIVE 2f812
|
||||
000000038a20 000000000008 R_X86_64_RELATIVE 2f822
|
||||
000000038a28 000000000008 R_X86_64_RELATIVE 2f837
|
||||
000000038a30 000000000008 R_X86_64_RELATIVE 2f853
|
||||
000000038a38 000000000008 R_X86_64_RELATIVE 2f85e
|
||||
000000038a40 000000000008 R_X86_64_RELATIVE 32ec0
|
||||
000000038a48 000000000008 R_X86_64_RELATIVE 32ee8
|
||||
000000039e10 000000000008 R_X86_64_RELATIVE fbc0
|
||||
000000039e18 000000000008 R_X86_64_RELATIVE 107b0
|
||||
000000039e20 000000000008 R_X86_64_RELATIVE c0d0
|
||||
000000039e28 000000000008 R_X86_64_RELATIVE e2a0
|
||||
000000039e30 000000000008 R_X86_64_RELATIVE 3230
|
||||
000000039e38 000000000008 R_X86_64_RELATIVE 1d470
|
||||
000000039e40 000000000008 R_X86_64_RELATIVE 4a70
|
||||
000000039e48 000000000008 R_X86_64_RELATIVE 14d80
|
||||
000000039e50 000000000008 R_X86_64_RELATIVE 1e2d0
|
||||
000000039e60 000000000008 R_X86_64_RELATIVE 1fa40
|
||||
000000039ff0 001800000006 R_X86_64_GLOB_DAT 0000000000038ae8 __rseq_offset@@GLIBC_2.35 + 0
|
||||
000000039ff8 001d00000006 R_X86_64_GLOB_DAT 0000000000038af0 __rseq_size@@GLIBC_2.35 + 0
|
||||
000000039a50 000000000025 R_X86_64_IRELATIV 1a780
|
||||
|
||||
Relocation section '.rela.plt' at offset 0x1af0 contains 4 entries:
|
||||
Offset Info Type Sym. Value Sym. Name + Addend
|
||||
00000003a018 001100000007 R_X86_64_JUMP_SLO 000000000001d2e0 _dl_catch_exception@@GLIBC_PRIVATE + 0
|
||||
00000003a020 000f00000007 R_X86_64_JUMP_SLO 000000000001d110 _dl_signal_exception@@GLIBC_PRIVATE + 0
|
||||
00000003a028 001f00000007 R_X86_64_JUMP_SLO 000000000001d160 _dl_signal_error@@GLIBC_PRIVATE + 0
|
||||
00000003a030 002300000007 R_X86_64_JUMP_SLO 000000000001d3d0 _dl_catch_error@@GLIBC_PRIVATE + 0
|
||||
No processor specific unwind information to decode
|
||||
|
||||
Symbol table '.dynsym' contains 40 entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
1: 000000000000af60 723 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
2: 000000000001b730 449 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
3: 000000000003b1d8 1 OBJECT GLOBAL DEFAULT 23 _[...]@@GLIBC_PRIVATE
|
||||
4: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS GLIBC_2.2.5
|
||||
5: 0000000000039ae0 928 OBJECT GLOBAL DEFAULT 18 _[...]@@GLIBC_PRIVATE
|
||||
6: 00000000000147a0 711 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
7: 0000000000032fb0 4 OBJECT GLOBAL DEFAULT 14 __rs[...]@@GLIBC_2.35
|
||||
8: 000000000003a040 4304 OBJECT GLOBAL DEFAULT 22 _[...]@@GLIBC_PRIVATE
|
||||
9: 00000000000144f0 673 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
10: 0000000000039a90 8 OBJECT GLOBAL DEFAULT 18 __l[...]@@GLIBC_2.2.5
|
||||
11: 0000000000039a98 4 OBJECT GLOBAL DEFAULT 18 _[...]@@GLIBC_PRIVATE
|
||||
12: 00000000000051b0 59 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
13: 0000000000014a70 131 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
14: 000000000001a7d0 12 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
15: 000000000001d110 72 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
16: 000000000003b118 40 OBJECT GLOBAL DEFAULT 23 _r_debug@@GLIBC_2.2.5
|
||||
17: 000000000001d2e0 227 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
18: 00000000000181d0 65 FUNC GLOBAL DEFAULT 13 __tls[...]@@GLIBC_2.3
|
||||
19: 0000000000005010 35 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
20: 0000000000003300 5 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
21: 00000000000143f0 25 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
22: 000000000000e1d0 196 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
23: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS GLIBC_PRIVATE
|
||||
24: 0000000000038ae8 8 OBJECT GLOBAL DEFAULT 18 __rs[...]@@GLIBC_2.35
|
||||
25: 000000000002b310 5 FUNC GLOBAL DEFAULT 13 __rtl[...]@GLIBC_2.34
|
||||
26: 000000000000ff20 169 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
27: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS GLIBC_2.3
|
||||
28: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS GLIBC_2.4
|
||||
29: 0000000000038af0 4 OBJECT GLOBAL DEFAULT 18 __rs[...]@@GLIBC_2.35
|
||||
30: 0000000000017d70 109 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
31: 000000000001d160 83 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
32: 0000000000004ba0 1132 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
33: 0000000000039ac0 8 OBJECT GLOBAL DEFAULT 18 _[...]@@GLIBC_PRIVATE
|
||||
34: 00000000000107b0 599 FUNC GLOBAL DEFAULT 13 _dl[...]@@GLIBC_2.2.5
|
||||
35: 000000000001d3d0 69 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
36: 0000000000004aa0 244 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
37: 000000000001b660 205 FUNC GLOBAL DEFAULT 13 _[...]@@GLIBC_PRIVATE
|
||||
38: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS GLIBC_2.34
|
||||
39: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS GLIBC_2.35
|
||||
|
||||
Histogram for bucket list length (total of 37 buckets):
|
||||
Length Number % of total Coverage
|
||||
0 13 ( 35.1%)
|
||||
1 13 ( 35.1%) 33.3%
|
||||
2 8 ( 21.6%) 74.4%
|
||||
3 2 ( 5.4%) 89.7%
|
||||
4 1 ( 2.7%) 100.0%
|
||||
|
||||
Histogram for `.gnu.hash' bucket list length (total of 37 buckets):
|
||||
Length Number % of total Coverage
|
||||
0 12 ( 32.4%)
|
||||
1 15 ( 40.5%) 38.5%
|
||||
2 7 ( 18.9%) 74.4%
|
||||
3 2 ( 5.4%) 89.7%
|
||||
4 1 ( 2.7%) 100.0%
|
||||
|
||||
Version symbols section '.gnu.version' contains 40 entries:
|
||||
Addr: 0x0000000000000c12 Offset: 0x000c12 Link: 5 (.dynsym)
|
||||
000: 0 (*local*) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE)
|
||||
004: 2 (GLIBC_2.2.5) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 6 (GLIBC_2.35)
|
||||
008: 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 2 (GLIBC_2.2.5) 7 (GLIBC_PRIVATE)
|
||||
00c: 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE)
|
||||
010: 2 (GLIBC_2.2.5) 7 (GLIBC_PRIVATE) 3 (GLIBC_2.3) 7 (GLIBC_PRIVATE)
|
||||
014: 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE)
|
||||
018: 6 (GLIBC_2.35) 5h(GLIBC_2.34) 7 (GLIBC_PRIVATE) 3 (GLIBC_2.3)
|
||||
01c: 4 (GLIBC_2.4) 6 (GLIBC_2.35) 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE)
|
||||
020: 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 2 (GLIBC_2.2.5) 7 (GLIBC_PRIVATE)
|
||||
024: 7 (GLIBC_PRIVATE) 7 (GLIBC_PRIVATE) 5 (GLIBC_2.34) 6 (GLIBC_2.35)
|
||||
|
||||
Version definition section '.gnu.version_d' contains 7 entries:
|
||||
Addr: 0x0000000000000c68 Offset: 0x000c68 Link: 6 (.dynstr)
|
||||
000000: Rev: 1 Flags: BASE Index: 1 Cnt: 1 Name: ld-linux-x86-64.so.2
|
||||
0x001c: Rev: 1 Flags: none Index: 2 Cnt: 1 Name: GLIBC_2.2.5
|
||||
0x0038: Rev: 1 Flags: none Index: 3 Cnt: 2 Name: GLIBC_2.3
|
||||
0x0054: Parent 1: GLIBC_2.2.5
|
||||
0x005c: Rev: 1 Flags: none Index: 4 Cnt: 2 Name: GLIBC_2.4
|
||||
0x0078: Parent 1: GLIBC_2.3
|
||||
0x0080: Rev: 1 Flags: none Index: 5 Cnt: 2 Name: GLIBC_2.34
|
||||
0x009c: Parent 1: GLIBC_2.4
|
||||
0x00a4: Rev: 1 Flags: none Index: 6 Cnt: 2 Name: GLIBC_2.35
|
||||
0x00c0: Parent 1: GLIBC_2.34
|
||||
0x00c8: Rev: 1 Flags: none Index: 7 Cnt: 2 Name: GLIBC_PRIVATE
|
||||
0x00e4: Parent 1: GLIBC_2.35
|
||||
|
||||
Displaying notes found in: .note.gnu.property
|
||||
Owner Data size Description
|
||||
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
|
||||
Properties: x86 feature: IBT, SHSTK
|
||||
|
||||
Displaying notes found in: .note.gnu.build-id
|
||||
Owner Data size Description
|
||||
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
|
||||
Build ID: 4186944c50f8a32b47d74931e3f512b811813b64
|
||||
|
||||
Displaying notes found in: .note.stapsdt
|
||||
Owner Data size Description
|
||||
stapsdt 0x00000038 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: unmap_start
|
||||
Location: 0x00000000000029ba, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -8@%r15 8@%r13
|
||||
stapsdt 0x0000003b NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: unmap_complete
|
||||
Location: 0x0000000000002c24, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -8@%r15 8@%rbx
|
||||
stapsdt 0x0000003a NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: map_start
|
||||
Location: 0x0000000000009add, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -8@40(%rbp) 8@%rbx
|
||||
stapsdt 0x00000044 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: map_complete
|
||||
Location: 0x000000000000ea68, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -8@32(%rbx) 8@%r14 8@%r15
|
||||
stapsdt 0x0000003f NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: reloc_start
|
||||
Location: 0x000000000000eb88, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -8@32(%rbx) 8@8(%rsp)
|
||||
stapsdt 0x00000049 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: reloc_complete
|
||||
Location: 0x000000000000ece6, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -8@32(%rbx) 8@8(%rsp) 8@%r15
|
||||
stapsdt 0x00000035 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: init_start
|
||||
Location: 0x0000000000023300, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -4@$0 8@%rbx
|
||||
stapsdt 0x00000038 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: init_complete
|
||||
Location: 0x0000000000024258, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: -4@$0 8@%rbx
|
||||
stapsdt 0x0000003a NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: lll_lock_wait_private
|
||||
Location: 0x0000000000026d66, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: 8@%rdi
|
||||
stapsdt 0x00000032 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: lll_lock_wait
|
||||
Location: 0x0000000000026dc9, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: 8@%rdi
|
||||
stapsdt 0x0000003a NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: setjmp
|
||||
Location: 0x0000000000026f31, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: 8@%rdi -4@%esi 8@%rax
|
||||
stapsdt 0x0000003b NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: longjmp
|
||||
Location: 0x0000000000026faf, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: 8@%rdi -4@%esi 8@%rdx
|
||||
stapsdt 0x00000042 NT_STAPSDT (SystemTap probe descriptors)
|
||||
Provider: rtld
|
||||
Name: longjmp_target
|
||||
Location: 0x0000000000026fcb, Base: 0x0000000000032fc0, Semaphore: 0x0000000000000000
|
||||
Arguments: 8@%rdi -4@%eax 8@%rdx
|
||||
692
doc/ls.txt
Executable file
692
doc/ls.txt
Executable file
@@ -0,0 +1,692 @@
|
||||
ELF Header:
|
||||
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
|
||||
Class: ELF64
|
||||
Data: 2's complement, little endian
|
||||
Version: 1 (current)
|
||||
OS/ABI: UNIX - System V
|
||||
ABI Version: 0
|
||||
Type: DYN (Position-Independent Executable file)
|
||||
Machine: Advanced Micro Devices X86-64
|
||||
Version: 0x1
|
||||
Entry point address: 0x6aa0
|
||||
Start of program headers: 64 (bytes into file)
|
||||
Start of section headers: 136232 (bytes into file)
|
||||
Flags: 0x0
|
||||
Size of this header: 64 (bytes)
|
||||
Size of program headers: 56 (bytes)
|
||||
Number of program headers: 13
|
||||
Size of section headers: 64 (bytes)
|
||||
Number of section headers: 31
|
||||
Section header string table index: 30
|
||||
|
||||
Section Headers:
|
||||
[Nr] Name Type Address Offset
|
||||
Size EntSize Flags Link Info Align
|
||||
[ 0] NULL 0000000000000000 00000000
|
||||
0000000000000000 0000000000000000 0 0 0
|
||||
[ 1] .interp PROGBITS 0000000000000318 00000318
|
||||
000000000000001c 0000000000000000 A 0 0 1
|
||||
[ 2] .note.gnu.pr[...] NOTE 0000000000000338 00000338
|
||||
0000000000000030 0000000000000000 A 0 0 8
|
||||
[ 3] .note.gnu.bu[...] NOTE 0000000000000368 00000368
|
||||
0000000000000024 0000000000000000 A 0 0 4
|
||||
[ 4] .note.ABI-tag NOTE 000000000000038c 0000038c
|
||||
0000000000000020 0000000000000000 A 0 0 4
|
||||
[ 5] .gnu.hash GNU_HASH 00000000000003b0 000003b0
|
||||
000000000000004c 0000000000000000 A 6 0 8
|
||||
[ 6] .dynsym DYNSYM 0000000000000400 00000400
|
||||
0000000000000b88 0000000000000018 A 7 1 8
|
||||
[ 7] .dynstr STRTAB 0000000000000f88 00000f88
|
||||
00000000000005a6 0000000000000000 A 0 0 1
|
||||
[ 8] .gnu.version VERSYM 000000000000152e 0000152e
|
||||
00000000000000f6 0000000000000002 A 6 0 2
|
||||
[ 9] .gnu.version_r VERNEED 0000000000001628 00001628
|
||||
00000000000000c0 0000000000000000 A 7 2 8
|
||||
[10] .rela.dyn RELA 00000000000016e8 000016e8
|
||||
0000000000001410 0000000000000018 A 6 0 8
|
||||
[11] .rela.plt RELA 0000000000002af8 00002af8
|
||||
0000000000000960 0000000000000018 AI 6 25 8
|
||||
[12] .init PROGBITS 0000000000004000 00004000
|
||||
000000000000001b 0000000000000000 AX 0 0 4
|
||||
[13] .plt PROGBITS 0000000000004020 00004020
|
||||
0000000000000650 0000000000000010 AX 0 0 16
|
||||
[14] .plt.got PROGBITS 0000000000004670 00004670
|
||||
0000000000000030 0000000000000010 AX 0 0 16
|
||||
[15] .plt.sec PROGBITS 00000000000046a0 000046a0
|
||||
0000000000000640 0000000000000010 AX 0 0 16
|
||||
[16] .text PROGBITS 0000000000004ce0 00004ce0
|
||||
00000000000123a2 0000000000000000 AX 0 0 16
|
||||
[17] .fini PROGBITS 0000000000017084 00017084
|
||||
000000000000000d 0000000000000000 AX 0 0 4
|
||||
[18] .rodata PROGBITS 0000000000018000 00018000
|
||||
0000000000004dcc 0000000000000000 A 0 0 32
|
||||
[19] .eh_frame_hdr PROGBITS 000000000001cdcc 0001cdcc
|
||||
000000000000056c 0000000000000000 A 0 0 4
|
||||
[20] .eh_frame PROGBITS 000000000001d338 0001d338
|
||||
0000000000002120 0000000000000000 A 0 0 8
|
||||
[21] .init_array INIT_ARRAY 0000000000020fd0 0001ffd0
|
||||
0000000000000008 0000000000000008 WA 0 0 8
|
||||
[22] .fini_array FINI_ARRAY 0000000000020fd8 0001ffd8
|
||||
0000000000000008 0000000000000008 WA 0 0 8
|
||||
[23] .data.rel.ro PROGBITS 0000000000020fe0 0001ffe0
|
||||
0000000000000a78 0000000000000000 WA 0 0 32
|
||||
[24] .dynamic DYNAMIC 0000000000021a58 00020a58
|
||||
0000000000000200 0000000000000010 WA 7 0 8
|
||||
[25] .got PROGBITS 0000000000021c58 00020c58
|
||||
00000000000003a0 0000000000000008 WA 0 0 8
|
||||
[26] .data PROGBITS 0000000000022000 00021000
|
||||
0000000000000278 0000000000000000 WA 0 0 32
|
||||
[27] .bss NOBITS 0000000000022280 00021278
|
||||
00000000000012c0 0000000000000000 WA 0 0 32
|
||||
[28] .gnu_debugaltlink PROGBITS 0000000000000000 00021278
|
||||
0000000000000049 0000000000000000 0 0 1
|
||||
[29] .gnu_debuglink PROGBITS 0000000000000000 000212c4
|
||||
0000000000000034 0000000000000000 0 0 4
|
||||
[30] .shstrtab STRTAB 0000000000000000 000212f8
|
||||
000000000000012f 0000000000000000 0 0 1
|
||||
Key to Flags:
|
||||
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
|
||||
L (link order), O (extra OS processing required), G (group), T (TLS),
|
||||
C (compressed), x (unknown), o (OS specific), E (exclude),
|
||||
D (mbind), l (large), p (processor specific)
|
||||
|
||||
There are no section groups in this file.
|
||||
|
||||
Program Headers:
|
||||
Type Offset VirtAddr PhysAddr
|
||||
FileSiz MemSiz Flags Align
|
||||
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
|
||||
0x00000000000002d8 0x00000000000002d8 R 0x8
|
||||
INTERP 0x0000000000000318 0x0000000000000318 0x0000000000000318
|
||||
0x000000000000001c 0x000000000000001c R 0x1
|
||||
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
|
||||
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
|
||||
0x0000000000003458 0x0000000000003458 R 0x1000
|
||||
LOAD 0x0000000000004000 0x0000000000004000 0x0000000000004000
|
||||
0x0000000000013091 0x0000000000013091 R E 0x1000
|
||||
LOAD 0x0000000000018000 0x0000000000018000 0x0000000000018000
|
||||
0x0000000000007458 0x0000000000007458 R 0x1000
|
||||
LOAD 0x000000000001ffd0 0x0000000000020fd0 0x0000000000020fd0
|
||||
0x00000000000012a8 0x0000000000002570 RW 0x1000
|
||||
DYNAMIC 0x0000000000020a58 0x0000000000021a58 0x0000000000021a58
|
||||
0x0000000000000200 0x0000000000000200 RW 0x8
|
||||
NOTE 0x0000000000000338 0x0000000000000338 0x0000000000000338
|
||||
0x0000000000000030 0x0000000000000030 R 0x8
|
||||
NOTE 0x0000000000000368 0x0000000000000368 0x0000000000000368
|
||||
0x0000000000000044 0x0000000000000044 R 0x4
|
||||
GNU_PROPERTY 0x0000000000000338 0x0000000000000338 0x0000000000000338
|
||||
0x0000000000000030 0x0000000000000030 R 0x8
|
||||
GNU_EH_FRAME 0x000000000001cdcc 0x000000000001cdcc 0x000000000001cdcc
|
||||
0x000000000000056c 0x000000000000056c R 0x4
|
||||
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
|
||||
0x0000000000000000 0x0000000000000000 RW 0x10
|
||||
GNU_RELRO 0x000000000001ffd0 0x0000000000020fd0 0x0000000000020fd0
|
||||
0x0000000000001030 0x0000000000001030 R 0x1
|
||||
|
||||
Section to Segment mapping:
|
||||
Segment Sections...
|
||||
00
|
||||
01 .interp
|
||||
02 .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt
|
||||
03 .init .plt .plt.got .plt.sec .text .fini
|
||||
04 .rodata .eh_frame_hdr .eh_frame
|
||||
05 .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
|
||||
06 .dynamic
|
||||
07 .note.gnu.property
|
||||
08 .note.gnu.build-id .note.ABI-tag
|
||||
09 .note.gnu.property
|
||||
10 .eh_frame_hdr
|
||||
11
|
||||
12 .init_array .fini_array .data.rel.ro .dynamic .got
|
||||
|
||||
Dynamic section at offset 0x20a58 contains 28 entries:
|
||||
Tag Type Name/Value
|
||||
0x0000000000000001 (NEEDED) Shared library: [libselinux.so.1]
|
||||
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
|
||||
0x000000000000000c (INIT) 0x4000
|
||||
0x000000000000000d (FINI) 0x17084
|
||||
0x0000000000000019 (INIT_ARRAY) 0x20fd0
|
||||
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
|
||||
0x000000000000001a (FINI_ARRAY) 0x20fd8
|
||||
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
|
||||
0x000000006ffffef5 (GNU_HASH) 0x3b0
|
||||
0x0000000000000005 (STRTAB) 0xf88
|
||||
0x0000000000000006 (SYMTAB) 0x400
|
||||
0x000000000000000a (STRSZ) 1446 (bytes)
|
||||
0x000000000000000b (SYMENT) 24 (bytes)
|
||||
0x0000000000000015 (DEBUG) 0x0
|
||||
0x0000000000000003 (PLTGOT) 0x21c58
|
||||
0x0000000000000002 (PLTRELSZ) 2400 (bytes)
|
||||
0x0000000000000014 (PLTREL) RELA
|
||||
0x0000000000000017 (JMPREL) 0x2af8
|
||||
0x0000000000000007 (RELA) 0x16e8
|
||||
0x0000000000000008 (RELASZ) 5136 (bytes)
|
||||
0x0000000000000009 (RELAENT) 24 (bytes)
|
||||
0x000000000000001e (FLAGS) BIND_NOW
|
||||
0x000000006ffffffb (FLAGS_1) Flags: NOW PIE
|
||||
0x000000006ffffffe (VERNEED) 0x1628
|
||||
0x000000006fffffff (VERNEEDNUM) 2
|
||||
0x000000006ffffff0 (VERSYM) 0x152e
|
||||
0x000000006ffffff9 (RELACOUNT) 201
|
||||
0x0000000000000000 (NULL) 0x0
|
||||
|
||||
Relocation section '.rela.dyn' at offset 0x16e8 contains 214 entries:
|
||||
Offset Info Type Sym. Value Sym. Name + Addend
|
||||
000000020fd0 000000000008 R_X86_64_RELATIVE 6b80
|
||||
000000020fd8 000000000008 R_X86_64_RELATIVE 6b40
|
||||
000000020fe0 000000000008 R_X86_64_RELATIVE 19e42
|
||||
000000020fe8 000000000008 R_X86_64_RELATIVE 19e51
|
||||
000000021000 000000000008 R_X86_64_RELATIVE af40
|
||||
000000021008 000000000008 R_X86_64_RELATIVE afa0
|
||||
000000021010 000000000008 R_X86_64_RELATIVE af70
|
||||
000000021018 000000000008 R_X86_64_RELATIVE b060
|
||||
000000021020 000000000008 R_X86_64_RELATIVE 8250
|
||||
000000021028 000000000008 R_X86_64_RELATIVE 8280
|
||||
000000021030 000000000008 R_X86_64_RELATIVE 8260
|
||||
000000021038 000000000008 R_X86_64_RELATIVE 8330
|
||||
000000021040 000000000008 R_X86_64_RELATIVE b120
|
||||
000000021048 000000000008 R_X86_64_RELATIVE b240
|
||||
000000021050 000000000008 R_X86_64_RELATIVE b1b0
|
||||
000000021058 000000000008 R_X86_64_RELATIVE b350
|
||||
000000021060 000000000008 R_X86_64_RELATIVE 9c90
|
||||
000000021068 000000000008 R_X86_64_RELATIVE 9b70
|
||||
000000021070 000000000008 R_X86_64_RELATIVE 9d10
|
||||
000000021078 000000000008 R_X86_64_RELATIVE 9d90
|
||||
000000021080 000000000008 R_X86_64_RELATIVE ad00
|
||||
000000021088 000000000008 R_X86_64_RELATIVE adc0
|
||||
000000021090 000000000008 R_X86_64_RELATIVE ad60
|
||||
000000021098 000000000008 R_X86_64_RELATIVE ae80
|
||||
0000000210a0 000000000008 R_X86_64_RELATIVE 8120
|
||||
0000000210a8 000000000008 R_X86_64_RELATIVE 81a0
|
||||
0000000210b0 000000000008 R_X86_64_RELATIVE 8160
|
||||
0000000210b8 000000000008 R_X86_64_RELATIVE 8070
|
||||
0000000210c0 000000000008 R_X86_64_RELATIVE 87c0
|
||||
0000000210c8 000000000008 R_X86_64_RELATIVE 87f0
|
||||
0000000210d0 000000000008 R_X86_64_RELATIVE 87d0
|
||||
0000000210d8 000000000008 R_X86_64_RELATIVE 88a0
|
||||
000000021100 000000000008 R_X86_64_RELATIVE a700
|
||||
000000021108 000000000008 R_X86_64_RELATIVE ac10
|
||||
000000021110 000000000008 R_X86_64_RELATIVE a770
|
||||
000000021118 000000000008 R_X86_64_RELATIVE acf0
|
||||
000000021120 000000000008 R_X86_64_RELATIVE 8c80
|
||||
000000021128 000000000008 R_X86_64_RELATIVE 8d20
|
||||
000000021130 000000000008 R_X86_64_RELATIVE 8cd0
|
||||
000000021138 000000000008 R_X86_64_RELATIVE 8dd0
|
||||
000000021140 000000000008 R_X86_64_RELATIVE a440
|
||||
000000021148 000000000008 R_X86_64_RELATIVE a540
|
||||
000000021150 000000000008 R_X86_64_RELATIVE a4c0
|
||||
000000021158 000000000008 R_X86_64_RELATIVE a620
|
||||
000000021160 000000000008 R_X86_64_RELATIVE 8a50
|
||||
000000021168 000000000008 R_X86_64_RELATIVE 8990
|
||||
000000021170 000000000008 R_X86_64_RELATIVE 8ab0
|
||||
000000021178 000000000008 R_X86_64_RELATIVE 8b10
|
||||
000000021180 000000000008 R_X86_64_RELATIVE a7e0
|
||||
000000021188 000000000008 R_X86_64_RELATIVE a8c0
|
||||
000000021190 000000000008 R_X86_64_RELATIVE a850
|
||||
000000021198 000000000008 R_X86_64_RELATIVE a990
|
||||
0000000211a0 000000000008 R_X86_64_RELATIVE 8f30
|
||||
0000000211a8 000000000008 R_X86_64_RELATIVE 8e80
|
||||
0000000211b0 000000000008 R_X86_64_RELATIVE 8f80
|
||||
0000000211b8 000000000008 R_X86_64_RELATIVE 8fd0
|
||||
0000000211c0 000000000008 R_X86_64_RELATIVE aa60
|
||||
0000000211c8 000000000008 R_X86_64_RELATIVE ab40
|
||||
0000000211d0 000000000008 R_X86_64_RELATIVE aad0
|
||||
0000000211d8 000000000008 R_X86_64_RELATIVE ac20
|
||||
0000000211e0 000000000008 R_X86_64_RELATIVE 9080
|
||||
0000000211e8 000000000008 R_X86_64_RELATIVE 8bd0
|
||||
0000000211f0 000000000008 R_X86_64_RELATIVE 90d0
|
||||
0000000211f8 000000000008 R_X86_64_RELATIVE 9120
|
||||
000000021200 000000000008 R_X86_64_RELATIVE 19c61
|
||||
000000021208 000000000008 R_X86_64_RELATIVE 19e54
|
||||
000000021210 000000000008 R_X86_64_RELATIVE 19e59
|
||||
000000021218 000000000008 R_X86_64_RELATIVE 19c84
|
||||
000000021240 000000000008 R_X86_64_RELATIVE 19e5d
|
||||
000000021248 000000000008 R_X86_64_RELATIVE 19e62
|
||||
000000021250 000000000008 R_X86_64_RELATIVE 19e68
|
||||
000000021258 000000000008 R_X86_64_RELATIVE 19e72
|
||||
000000021280 000000000008 R_X86_64_RELATIVE 1a08d
|
||||
000000021288 000000000008 R_X86_64_RELATIVE 19e7b
|
||||
000000021290 000000000008 R_X86_64_RELATIVE 19e7f
|
||||
000000021298 000000000008 R_X86_64_RELATIVE 19e85
|
||||
0000000212a0 000000000008 R_X86_64_RELATIVE 19e8b
|
||||
0000000212a8 000000000008 R_X86_64_RELATIVE 19e5d
|
||||
0000000212b0 000000000008 R_X86_64_RELATIVE 19e8e
|
||||
0000000212b8 000000000008 R_X86_64_RELATIVE 19e96
|
||||
0000000212c0 000000000008 R_X86_64_RELATIVE 19e93
|
||||
0000000212e0 000000000008 R_X86_64_RELATIVE 19e9a
|
||||
0000000212e8 000000000008 R_X86_64_RELATIVE 19ea2
|
||||
0000000212f0 000000000008 R_X86_64_RELATIVE 19ea7
|
||||
0000000212f8 000000000008 R_X86_64_RELATIVE 19eae
|
||||
000000021300 000000000008 R_X86_64_RELATIVE 19eb9
|
||||
000000021308 000000000008 R_X86_64_RELATIVE 19ec0
|
||||
000000021310 000000000008 R_X86_64_RELATIVE 19ec9
|
||||
000000021320 000000000008 R_X86_64_RELATIVE 19ed7
|
||||
000000021328 000000000008 R_X86_64_RELATIVE 19b66
|
||||
000000021330 000000000008 R_X86_64_RELATIVE 19edd
|
||||
000000021338 000000000008 R_X86_64_RELATIVE 19ee1
|
||||
000000021340 000000000008 R_X86_64_RELATIVE 19ee7
|
||||
000000021348 000000000008 R_X86_64_RELATIVE 19eee
|
||||
000000021350 000000000008 R_X86_64_RELATIVE 19ef4
|
||||
000000021360 000000000008 R_X86_64_RELATIVE 19e5d
|
||||
000000021368 000000000008 R_X86_64_RELATIVE 19ce1
|
||||
000000021370 000000000008 R_X86_64_RELATIVE 19cd3
|
||||
000000021378 000000000008 R_X86_64_RELATIVE 19efd
|
||||
000000021380 000000000008 R_X86_64_RELATIVE 19b1d
|
||||
0000000213a0 000000000008 R_X86_64_RELATIVE 19f84
|
||||
0000000213c0 000000000008 R_X86_64_RELATIVE 1a079
|
||||
0000000213e0 000000000008 R_X86_64_RELATIVE 19f07
|
||||
000000021400 000000000008 R_X86_64_RELATIVE 19f11
|
||||
000000021420 000000000008 R_X86_64_RELATIVE 19f17
|
||||
000000021440 000000000008 R_X86_64_RELATIVE 19f21
|
||||
000000021460 000000000008 R_X86_64_RELATIVE 19e42
|
||||
000000021480 000000000008 R_X86_64_RELATIVE 19f39
|
||||
0000000214a0 000000000008 R_X86_64_RELATIVE 19f3f
|
||||
0000000214c0 000000000008 R_X86_64_RELATIVE 19f49
|
||||
0000000214e0 000000000008 R_X86_64_RELATIVE 19f59
|
||||
000000021500 000000000008 R_X86_64_RELATIVE 19f62
|
||||
000000021520 000000000008 R_X86_64_RELATIVE 19f75
|
||||
000000021540 000000000008 R_X86_64_RELATIVE 19cd3
|
||||
000000021560 000000000008 R_X86_64_RELATIVE 19cb6
|
||||
000000021580 000000000008 R_X86_64_RELATIVE 19f7d
|
||||
0000000215a0 000000000008 R_X86_64_RELATIVE 19f88
|
||||
0000000215c0 000000000008 R_X86_64_RELATIVE 19e72
|
||||
0000000215e0 000000000008 R_X86_64_RELATIVE 19e68
|
||||
000000021600 000000000008 R_X86_64_RELATIVE 19e51
|
||||
000000021620 000000000008 R_X86_64_RELATIVE 19f97
|
||||
000000021640 000000000008 R_X86_64_RELATIVE 1c4b0
|
||||
000000021660 000000000008 R_X86_64_RELATIVE 19fb0
|
||||
000000021680 000000000008 R_X86_64_RELATIVE 19fb5
|
||||
0000000216a0 000000000008 R_X86_64_RELATIVE 19d05
|
||||
0000000216c0 000000000008 R_X86_64_RELATIVE 19fbc
|
||||
0000000216e0 000000000008 R_X86_64_RELATIVE 19fc8
|
||||
000000021700 000000000008 R_X86_64_RELATIVE 19fd0
|
||||
000000021720 000000000008 R_X86_64_RELATIVE 19d17
|
||||
000000021740 000000000008 R_X86_64_RELATIVE 19fdb
|
||||
000000021760 000000000008 R_X86_64_RELATIVE 19ce8
|
||||
000000021780 000000000008 R_X86_64_RELATIVE 19fe5
|
||||
0000000217a0 000000000008 R_X86_64_RELATIVE 19cda
|
||||
0000000217c0 000000000008 R_X86_64_RELATIVE 19ff8
|
||||
0000000217e0 000000000008 R_X86_64_RELATIVE 19ce1
|
||||
000000021800 000000000008 R_X86_64_RELATIVE 1a000
|
||||
000000021820 000000000008 R_X86_64_RELATIVE 19cf1
|
||||
000000021840 000000000008 R_X86_64_RELATIVE 19cf9
|
||||
000000021860 000000000008 R_X86_64_RELATIVE 1a00b
|
||||
000000021880 000000000008 R_X86_64_RELATIVE 1a016
|
||||
0000000218a0 000000000008 R_X86_64_RELATIVE 1a01e
|
||||
0000000218c0 000000000008 R_X86_64_RELATIVE 1a025
|
||||
0000000218e0 000000000008 R_X86_64_RELATIVE 19b1d
|
||||
000000021920 000000000008 R_X86_64_RELATIVE 19c6a
|
||||
000000021928 000000000008 R_X86_64_RELATIVE 1a02a
|
||||
000000021930 000000000008 R_X86_64_RELATIVE 1a02d
|
||||
000000021938 000000000008 R_X86_64_RELATIVE 19f72
|
||||
000000021940 000000000008 R_X86_64_RELATIVE 19e8b
|
||||
000000021948 000000000008 R_X86_64_RELATIVE 1a030
|
||||
000000021950 000000000008 R_X86_64_RELATIVE 1a033
|
||||
000000021958 000000000008 R_X86_64_RELATIVE 1a036
|
||||
000000021960 000000000008 R_X86_64_RELATIVE 1a039
|
||||
000000021968 000000000008 R_X86_64_RELATIVE 19e5a
|
||||
000000021970 000000000008 R_X86_64_RELATIVE 1a03c
|
||||
000000021978 000000000008 R_X86_64_RELATIVE 1a03f
|
||||
000000021980 000000000008 R_X86_64_RELATIVE 1a042
|
||||
000000021988 000000000008 R_X86_64_RELATIVE 1a022
|
||||
000000021990 000000000008 R_X86_64_RELATIVE 1a045
|
||||
000000021998 000000000008 R_X86_64_RELATIVE 1a048
|
||||
0000000219a0 000000000008 R_X86_64_RELATIVE 1a04b
|
||||
0000000219a8 000000000008 R_X86_64_RELATIVE 1a04e
|
||||
0000000219b0 000000000008 R_X86_64_RELATIVE 19f36
|
||||
0000000219b8 000000000008 R_X86_64_RELATIVE 1a051
|
||||
0000000219c0 000000000008 R_X86_64_RELATIVE 1a054
|
||||
0000000219c8 000000000008 R_X86_64_RELATIVE 1a057
|
||||
0000000219d0 000000000008 R_X86_64_RELATIVE 1a05a
|
||||
0000000219d8 000000000008 R_X86_64_RELATIVE 1a05d
|
||||
000000021a00 000000000008 R_X86_64_RELATIVE 19fc8
|
||||
000000021a08 000000000008 R_X86_64_RELATIVE 1a060
|
||||
000000021a10 000000000008 R_X86_64_RELATIVE 1a066
|
||||
000000021a18 000000000008 R_X86_64_RELATIVE 1a073
|
||||
000000021a20 000000000008 R_X86_64_RELATIVE 1a080
|
||||
000000021a28 000000000008 R_X86_64_RELATIVE 19b09
|
||||
000000021a30 000000000008 R_X86_64_RELATIVE 1a094
|
||||
000000021a38 000000000008 R_X86_64_RELATIVE 1a079
|
||||
000000021a40 000000000008 R_X86_64_RELATIVE 19c84
|
||||
000000021a48 000000000008 R_X86_64_RELATIVE 1a09c
|
||||
000000022008 000000000008 R_X86_64_RELATIVE 22008
|
||||
0000000220a0 000000000008 R_X86_64_RELATIVE 98a0
|
||||
0000000220c8 000000000008 R_X86_64_RELATIVE 1a0a4
|
||||
0000000220d8 000000000008 R_X86_64_RELATIVE 19989
|
||||
0000000220f8 000000000008 R_X86_64_RELATIVE 19b00
|
||||
000000022128 000000000008 R_X86_64_RELATIVE 1a0a7
|
||||
000000022138 000000000008 R_X86_64_RELATIVE 1a0ad
|
||||
000000022148 000000000008 R_X86_64_RELATIVE 1a0bc
|
||||
000000022158 000000000008 R_X86_64_RELATIVE 1a0b3
|
||||
000000022168 000000000008 R_X86_64_RELATIVE 1a0b9
|
||||
000000022178 000000000008 R_X86_64_RELATIVE 1a0b9
|
||||
0000000221a8 000000000008 R_X86_64_RELATIVE 1a0bf
|
||||
0000000221b8 000000000008 R_X86_64_RELATIVE 1a0b3
|
||||
0000000221c8 000000000008 R_X86_64_RELATIVE 1a0c5
|
||||
0000000221d8 000000000008 R_X86_64_RELATIVE 1a0cb
|
||||
0000000221e8 000000000008 R_X86_64_RELATIVE 1a0d1
|
||||
0000000221f8 000000000008 R_X86_64_RELATIVE 1a0d7
|
||||
000000022208 000000000008 R_X86_64_RELATIVE 1a0dd
|
||||
000000022218 000000000008 R_X86_64_RELATIVE 1a0e3
|
||||
000000022238 000000000008 R_X86_64_RELATIVE 1a0e9
|
||||
000000022240 000000000008 R_X86_64_RELATIVE 1a0ed
|
||||
000000022248 000000000008 R_X86_64_RELATIVE 1a0f7
|
||||
000000022268 000000000008 R_X86_64_RELATIVE 23440
|
||||
000000022270 000000000008 R_X86_64_RELATIVE 22260
|
||||
000000021f90 007600000006 R_X86_64_GLOB_DAT 0000000000000000 free@GLIBC_2.2.5 + 0
|
||||
000000021f98 000700000006 R_X86_64_GLOB_DAT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0
|
||||
000000021fa0 000b00000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_deregisterTM[...] + 0
|
||||
000000021fa8 000c00000006 R_X86_64_GLOB_DAT 0000000000000000 stdout@GLIBC_2.2.5 + 0
|
||||
000000021fb0 001d00000006 R_X86_64_GLOB_DAT 0000000000000000 optind@GLIBC_2.2.5 + 0
|
||||
000000021fb8 003e00000006 R_X86_64_GLOB_DAT 0000000000000000 optarg@GLIBC_2.2.5 + 0
|
||||
000000021fc0 004100000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
|
||||
000000021fc8 004300000006 R_X86_64_GLOB_DAT 0000000000000000 program_invocatio[...]@GLIBC_2.2.5 + 0
|
||||
000000021fd0 007800000006 R_X86_64_GLOB_DAT 0000000000000000 malloc@GLIBC_2.2.5 + 0
|
||||
000000021fd8 006500000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_registerTMCl[...] + 0
|
||||
000000021fe0 006a00000006 R_X86_64_GLOB_DAT 0000000000000000 program_invocatio[...]@GLIBC_2.2.5 + 0
|
||||
000000021fe8 007500000006 R_X86_64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.2.5 + 0
|
||||
000000021ff0 006f00000006 R_X86_64_GLOB_DAT 0000000000000000 stderr@GLIBC_2.2.5 + 0
|
||||
|
||||
Relocation section '.rela.plt' at offset 0x2af8 contains 100 entries:
|
||||
Offset Info Type Sym. Value Sym. Name + Addend
|
||||
000000021c70 000100000007 R_X86_64_JUMP_SLO 0000000000000000 __ctype_toupper_loc@GLIBC_2.3 + 0
|
||||
000000021c78 000200000007 R_X86_64_JUMP_SLO 0000000000000000 getenv@GLIBC_2.2.5 + 0
|
||||
000000021c80 000400000007 R_X86_64_JUMP_SLO 0000000000000000 sigprocmask@GLIBC_2.2.5 + 0
|
||||
000000021c88 000500000007 R_X86_64_JUMP_SLO 0000000000000000 __snprintf_chk@GLIBC_2.3.4 + 0
|
||||
000000021c90 000600000007 R_X86_64_JUMP_SLO 0000000000000000 raise@GLIBC_2.2.5 + 0
|
||||
000000021c98 000800000007 R_X86_64_JUMP_SLO 0000000000000000 abort@GLIBC_2.2.5 + 0
|
||||
000000021ca0 000900000007 R_X86_64_JUMP_SLO 0000000000000000 __errno_location@GLIBC_2.2.5 + 0
|
||||
000000021ca8 000a00000007 R_X86_64_JUMP_SLO 0000000000000000 strncmp@GLIBC_2.2.5 + 0
|
||||
000000021cb0 000d00000007 R_X86_64_JUMP_SLO 0000000000000000 localtime_r@GLIBC_2.2.5 + 0
|
||||
000000021cb8 000e00000007 R_X86_64_JUMP_SLO 0000000000000000 _exit@GLIBC_2.2.5 + 0
|
||||
000000021cc0 000f00000007 R_X86_64_JUMP_SLO 0000000000000000 strcpy@GLIBC_2.2.5 + 0
|
||||
000000021cc8 001000000007 R_X86_64_JUMP_SLO 0000000000000000 __mbstowcs_chk@GLIBC_2.4 + 0
|
||||
000000021cd0 001100000007 R_X86_64_JUMP_SLO 0000000000000000 __fpending@GLIBC_2.2.5 + 0
|
||||
000000021cd8 001200000007 R_X86_64_JUMP_SLO 0000000000000000 isatty@GLIBC_2.2.5 + 0
|
||||
000000021ce0 001300000007 R_X86_64_JUMP_SLO 0000000000000000 sigaction@GLIBC_2.2.5 + 0
|
||||
000000021ce8 001400000007 R_X86_64_JUMP_SLO 0000000000000000 iswcntrl@GLIBC_2.2.5 + 0
|
||||
000000021cf0 001500000007 R_X86_64_JUMP_SLO 0000000000000000 wcswidth@GLIBC_2.2.5 + 0
|
||||
000000021cf8 001600000007 R_X86_64_JUMP_SLO 0000000000000000 localeconv@GLIBC_2.2.5 + 0
|
||||
000000021d00 001700000007 R_X86_64_JUMP_SLO 0000000000000000 mbstowcs@GLIBC_2.2.5 + 0
|
||||
000000021d08 001800000007 R_X86_64_JUMP_SLO 0000000000000000 readlink@GLIBC_2.2.5 + 0
|
||||
000000021d10 001900000007 R_X86_64_JUMP_SLO 0000000000000000 clock_gettime@GLIBC_2.17 + 0
|
||||
000000021d18 001a00000007 R_X86_64_JUMP_SLO 0000000000000000 setenv@GLIBC_2.2.5 + 0
|
||||
000000021d20 001b00000007 R_X86_64_JUMP_SLO 0000000000000000 textdomain@GLIBC_2.2.5 + 0
|
||||
000000021d28 001c00000007 R_X86_64_JUMP_SLO 0000000000000000 fclose@GLIBC_2.2.5 + 0
|
||||
000000021d30 001e00000007 R_X86_64_JUMP_SLO 0000000000000000 opendir@GLIBC_2.2.5 + 0
|
||||
000000021d38 001f00000007 R_X86_64_JUMP_SLO 0000000000000000 getpwuid@GLIBC_2.2.5 + 0
|
||||
000000021d40 002000000007 R_X86_64_JUMP_SLO 0000000000000000 bindtextdomain@GLIBC_2.2.5 + 0
|
||||
000000021d48 002100000007 R_X86_64_JUMP_SLO 0000000000000000 dcgettext@GLIBC_2.2.5 + 0
|
||||
000000021d50 002200000007 R_X86_64_JUMP_SLO 0000000000000000 __ctype_get_mb_cur_max@GLIBC_2.2.5 + 0
|
||||
000000021d58 002300000007 R_X86_64_JUMP_SLO 0000000000000000 strlen@GLIBC_2.2.5 + 0
|
||||
000000021d60 002400000007 R_X86_64_JUMP_SLO 0000000000000000 __stack_chk_fail@GLIBC_2.4 + 0
|
||||
000000021d68 002500000007 R_X86_64_JUMP_SLO 0000000000000000 getopt_long@GLIBC_2.2.5 + 0
|
||||
000000021d70 002600000007 R_X86_64_JUMP_SLO 0000000000000000 mbrtowc@GLIBC_2.2.5 + 0
|
||||
000000021d78 002700000007 R_X86_64_JUMP_SLO 0000000000000000 freecon@LIBSELINUX_1.0 + 0
|
||||
000000021d80 002800000007 R_X86_64_JUMP_SLO 0000000000000000 strchr@GLIBC_2.2.5 + 0
|
||||
000000021d88 002900000007 R_X86_64_JUMP_SLO 0000000000000000 getgrgid@GLIBC_2.2.5 + 0
|
||||
000000021d90 002a00000007 R_X86_64_JUMP_SLO 0000000000000000 snprintf@GLIBC_2.2.5 + 0
|
||||
000000021d98 002b00000007 R_X86_64_JUMP_SLO 0000000000000000 __overflow@GLIBC_2.2.5 + 0
|
||||
000000021da0 002c00000007 R_X86_64_JUMP_SLO 0000000000000000 strrchr@GLIBC_2.2.5 + 0
|
||||
000000021da8 002d00000007 R_X86_64_JUMP_SLO 0000000000000000 gmtime_r@GLIBC_2.2.5 + 0
|
||||
000000021db0 002e00000007 R_X86_64_JUMP_SLO 0000000000000000 lseek@GLIBC_2.2.5 + 0
|
||||
000000021db8 002f00000007 R_X86_64_JUMP_SLO 0000000000000000 __assert_fail@GLIBC_2.2.5 + 0
|
||||
000000021dc0 003000000007 R_X86_64_JUMP_SLO 0000000000000000 fnmatch@GLIBC_2.2.5 + 0
|
||||
000000021dc8 003100000007 R_X86_64_JUMP_SLO 0000000000000000 memset@GLIBC_2.2.5 + 0
|
||||
000000021dd0 003200000007 R_X86_64_JUMP_SLO 0000000000000000 ioctl@GLIBC_2.2.5 + 0
|
||||
000000021dd8 003300000007 R_X86_64_JUMP_SLO 0000000000000000 getcwd@GLIBC_2.2.5 + 0
|
||||
000000021de0 003400000007 R_X86_64_JUMP_SLO 0000000000000000 closedir@GLIBC_2.2.5 + 0
|
||||
000000021de8 003500000007 R_X86_64_JUMP_SLO 0000000000000000 lstat@GLIBC_2.33 + 0
|
||||
000000021df0 003600000007 R_X86_64_JUMP_SLO 0000000000000000 memcmp@GLIBC_2.2.5 + 0
|
||||
000000021df8 003700000007 R_X86_64_JUMP_SLO 0000000000000000 _setjmp@GLIBC_2.2.5 + 0
|
||||
000000021e00 003800000007 R_X86_64_JUMP_SLO 0000000000000000 fputs_unlocked@GLIBC_2.2.5 + 0
|
||||
000000021e08 003900000007 R_X86_64_JUMP_SLO 0000000000000000 calloc@GLIBC_2.2.5 + 0
|
||||
000000021e10 003a00000007 R_X86_64_JUMP_SLO 0000000000000000 strcmp@GLIBC_2.2.5 + 0
|
||||
000000021e18 003b00000007 R_X86_64_JUMP_SLO 0000000000000000 signal@GLIBC_2.2.5 + 0
|
||||
000000021e20 003c00000007 R_X86_64_JUMP_SLO 0000000000000000 dirfd@GLIBC_2.2.5 + 0
|
||||
000000021e28 003d00000007 R_X86_64_JUMP_SLO 0000000000000000 fputc_unlocked@GLIBC_2.2.5 + 0
|
||||
000000021e30 003f00000007 R_X86_64_JUMP_SLO 0000000000000000 __memcpy_chk@GLIBC_2.3.4 + 0
|
||||
000000021e38 004000000007 R_X86_64_JUMP_SLO 0000000000000000 sigemptyset@GLIBC_2.2.5 + 0
|
||||
000000021e40 004200000007 R_X86_64_JUMP_SLO 0000000000000000 memcpy@GLIBC_2.14 + 0
|
||||
000000021e48 004400000007 R_X86_64_JUMP_SLO 0000000000000000 tzset@GLIBC_2.2.5 + 0
|
||||
000000021e50 004500000007 R_X86_64_JUMP_SLO 0000000000000000 fileno@GLIBC_2.2.5 + 0
|
||||
000000021e58 004600000007 R_X86_64_JUMP_SLO 0000000000000000 tcgetpgrp@GLIBC_2.2.5 + 0
|
||||
000000021e60 004700000007 R_X86_64_JUMP_SLO 0000000000000000 readdir@GLIBC_2.2.5 + 0
|
||||
000000021e68 004800000007 R_X86_64_JUMP_SLO 0000000000000000 wcwidth@GLIBC_2.2.5 + 0
|
||||
000000021e70 004900000007 R_X86_64_JUMP_SLO 0000000000000000 fflush@GLIBC_2.2.5 + 0
|
||||
000000021e78 004a00000007 R_X86_64_JUMP_SLO 0000000000000000 nl_langinfo@GLIBC_2.2.5 + 0
|
||||
000000021e80 004b00000007 R_X86_64_JUMP_SLO 0000000000000000 strcoll@GLIBC_2.2.5 + 0
|
||||
000000021e88 004c00000007 R_X86_64_JUMP_SLO 0000000000000000 mktime@GLIBC_2.2.5 + 0
|
||||
000000021e90 004d00000007 R_X86_64_JUMP_SLO 0000000000000000 __freading@GLIBC_2.2.5 + 0
|
||||
000000021e98 004e00000007 R_X86_64_JUMP_SLO 0000000000000000 fwrite_unlocked@GLIBC_2.2.5 + 0
|
||||
000000021ea0 004f00000007 R_X86_64_JUMP_SLO 0000000000000000 realloc@GLIBC_2.2.5 + 0
|
||||
000000021ea8 005000000007 R_X86_64_JUMP_SLO 0000000000000000 stpncpy@GLIBC_2.2.5 + 0
|
||||
000000021eb0 005100000007 R_X86_64_JUMP_SLO 0000000000000000 setlocale@GLIBC_2.2.5 + 0
|
||||
000000021eb8 005200000007 R_X86_64_JUMP_SLO 0000000000000000 __printf_chk@GLIBC_2.3.4 + 0
|
||||
000000021ec0 005300000007 R_X86_64_JUMP_SLO 0000000000000000 statx@GLIBC_2.28 + 0
|
||||
000000021ec8 005400000007 R_X86_64_JUMP_SLO 0000000000000000 timegm@GLIBC_2.2.5 + 0
|
||||
000000021ed0 005500000007 R_X86_64_JUMP_SLO 0000000000000000 strftime@GLIBC_2.2.5 + 0
|
||||
000000021ed8 005600000007 R_X86_64_JUMP_SLO 0000000000000000 mempcpy@GLIBC_2.2.5 + 0
|
||||
000000021ee0 005700000007 R_X86_64_JUMP_SLO 0000000000000000 memmove@GLIBC_2.2.5 + 0
|
||||
000000021ee8 005800000007 R_X86_64_JUMP_SLO 0000000000000000 error@GLIBC_2.2.5 + 0
|
||||
000000021ef0 005a00000007 R_X86_64_JUMP_SLO 0000000000000000 fseeko@GLIBC_2.2.5 + 0
|
||||
000000021ef8 005b00000007 R_X86_64_JUMP_SLO 0000000000000000 strtoumax@GLIBC_2.2.5 + 0
|
||||
000000021f00 005c00000007 R_X86_64_JUMP_SLO 0000000000000000 unsetenv@GLIBC_2.2.5 + 0
|
||||
000000021f08 005d00000007 R_X86_64_JUMP_SLO 0000000000000000 __cxa_atexit@GLIBC_2.2.5 + 0
|
||||
000000021f10 005e00000007 R_X86_64_JUMP_SLO 0000000000000000 wcstombs@GLIBC_2.2.5 + 0
|
||||
000000021f18 005f00000007 R_X86_64_JUMP_SLO 0000000000000000 getxattr@GLIBC_2.3 + 0
|
||||
000000021f20 006000000007 R_X86_64_JUMP_SLO 0000000000000000 gethostname@GLIBC_2.2.5 + 0
|
||||
000000021f28 006100000007 R_X86_64_JUMP_SLO 0000000000000000 sigismember@GLIBC_2.2.5 + 0
|
||||
000000021f30 006200000007 R_X86_64_JUMP_SLO 0000000000000000 exit@GLIBC_2.2.5 + 0
|
||||
000000021f38 006300000007 R_X86_64_JUMP_SLO 0000000000000000 fwrite@GLIBC_2.2.5 + 0
|
||||
000000021f40 006400000007 R_X86_64_JUMP_SLO 0000000000000000 __fprintf_chk@GLIBC_2.3.4 + 0
|
||||
000000021f48 006600000007 R_X86_64_JUMP_SLO 0000000000000000 getfilecon@LIBSELINUX_1.0 + 0
|
||||
000000021f50 006700000007 R_X86_64_JUMP_SLO 0000000000000000 fflush_unlocked@GLIBC_2.2.5 + 0
|
||||
000000021f58 006800000007 R_X86_64_JUMP_SLO 0000000000000000 mbsinit@GLIBC_2.2.5 + 0
|
||||
000000021f60 006900000007 R_X86_64_JUMP_SLO 0000000000000000 lgetfilecon@LIBSELINUX_1.0 + 0
|
||||
000000021f68 006b00000007 R_X86_64_JUMP_SLO 0000000000000000 iswprint@GLIBC_2.2.5 + 0
|
||||
000000021f70 006c00000007 R_X86_64_JUMP_SLO 0000000000000000 sigaddset@GLIBC_2.2.5 + 0
|
||||
000000021f78 006d00000007 R_X86_64_JUMP_SLO 0000000000000000 __ctype_tolower_loc@GLIBC_2.3 + 0
|
||||
000000021f80 006e00000007 R_X86_64_JUMP_SLO 0000000000000000 __ctype_b_loc@GLIBC_2.3 + 0
|
||||
000000021f88 007000000007 R_X86_64_JUMP_SLO 0000000000000000 __sprintf_chk@GLIBC_2.3.4 + 0
|
||||
No processor specific unwind information to decode
|
||||
|
||||
Symbol table '.dynsym' contains 123 entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.3 (2)
|
||||
2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
3: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.3.4 (4)
|
||||
6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND raise@GLIBC_2.2.5 (3)
|
||||
7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND _[...]@GLIBC_2.34 (5)
|
||||
8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.2.5 (3)
|
||||
9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
11: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterT[...]
|
||||
12: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
13: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
14: 0000000000000000 0 FUNC GLOBAL DEFAULT UND _exit@GLIBC_2.2.5 (3)
|
||||
15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.4 (6)
|
||||
17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
19: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
21: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
22: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
23: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
24: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
25: 0000000000000000 0 FUNC GLOBAL DEFAULT UND c[...]@GLIBC_2.17 (7)
|
||||
26: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
27: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
28: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
29: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
30: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
31: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
32: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
33: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
34: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
35: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
36: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.4 (6)
|
||||
37: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
38: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
39: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@LIBSELINUX_1.0 (8)
|
||||
40: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
41: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
42: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
43: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
44: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
45: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
46: 0000000000000000 0 FUNC GLOBAL DEFAULT UND lseek@GLIBC_2.2.5 (3)
|
||||
47: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
48: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
49: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
50: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ioctl@GLIBC_2.2.5 (3)
|
||||
51: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
52: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
53: 0000000000000000 0 FUNC GLOBAL DEFAULT UND lstat@GLIBC_2.33 (9)
|
||||
54: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
55: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
56: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
57: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
58: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
59: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
60: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dirfd@GLIBC_2.2.5 (3)
|
||||
61: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
62: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
63: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.3.4 (4)
|
||||
64: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
65: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
|
||||
66: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.14 (10)
|
||||
67: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND tzset@GLIBC_2.2.5 (3)
|
||||
69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
71: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
72: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
73: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
74: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
75: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
76: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
77: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
78: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
79: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
80: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
82: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.3.4 (4)
|
||||
83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND statx@GLIBC_2.28 (11)
|
||||
84: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
85: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
86: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
87: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
88: 0000000000000000 0 FUNC GLOBAL DEFAULT UND error@GLIBC_2.2.5 (3)
|
||||
89: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
90: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
91: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
92: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
93: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
94: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
95: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ge[...]@GLIBC_2.3 (2)
|
||||
96: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
97: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
98: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.2.5 (3)
|
||||
99: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
100: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.3.4 (4)
|
||||
101: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMC[...]
|
||||
102: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@LIBSELINUX_1.0 (8)
|
||||
103: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
104: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
105: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@LIBSELINUX_1.0 (8)
|
||||
106: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
107: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
108: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
109: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.3 (2)
|
||||
110: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.3 (2)
|
||||
111: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
112: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.3.4 (4)
|
||||
113: 00000000000220a0 8 OBJECT GLOBAL DEFAULT 26 obstack_alloc_fa[...]
|
||||
114: 000000000000fc60 296 FUNC GLOBAL DEFAULT 16 _obstack_newchunk
|
||||
115: 000000000000fc40 25 FUNC GLOBAL DEFAULT 16 _obstack_begin_1
|
||||
116: 0000000000010680 55 FUNC GLOBAL DEFAULT 16 _obstack_allocated_p
|
||||
117: 0000000000000000 0 FUNC WEAK DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
118: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.2.5 (3)
|
||||
119: 000000000000fc20 21 FUNC GLOBAL DEFAULT 16 _obstack_begin
|
||||
120: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (3)
|
||||
121: 0000000000010750 38 FUNC GLOBAL DEFAULT 16 _obstack_memory_used
|
||||
122: 00000000000106c0 133 FUNC GLOBAL DEFAULT 16 _obstack_free
|
||||
|
||||
Histogram for `.gnu.hash' bucket list length (total of 3 buckets):
|
||||
Length Number % of total Coverage
|
||||
0 0 ( 0.0%)
|
||||
1 1 ( 33.3%) 10.0%
|
||||
2 0 ( 0.0%) 10.0%
|
||||
3 0 ( 0.0%) 10.0%
|
||||
4 1 ( 33.3%) 50.0%
|
||||
5 1 ( 33.3%) 100.0%
|
||||
|
||||
Version symbols section '.gnu.version' contains 123 entries:
|
||||
Addr: 0x000000000000152e Offset: 0x00152e Link: 6 (.dynsym)
|
||||
000: 0 (*local*) 2 (GLIBC_2.3) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
004: 3 (GLIBC_2.2.5) 4 (GLIBC_2.3.4) 3 (GLIBC_2.2.5) 5 (GLIBC_2.34)
|
||||
008: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 1 (*global*)
|
||||
00c: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
010: 6 (GLIBC_2.4) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
014: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
018: 3 (GLIBC_2.2.5) 7 (GLIBC_2.17) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
01c: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
020: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
024: 6 (GLIBC_2.4) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 8 (LIBSELINUX_1.0)
|
||||
028: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
02c: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
030: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
034: 3 (GLIBC_2.2.5) 9 (GLIBC_2.33) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
038: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
03c: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 4 (GLIBC_2.3.4)
|
||||
040: 3 (GLIBC_2.2.5) 1 (*global*) a (GLIBC_2.14) 3 (GLIBC_2.2.5)
|
||||
044: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
048: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
04c: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
050: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 4 (GLIBC_2.3.4) b (GLIBC_2.28)
|
||||
054: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
058: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
05c: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 2 (GLIBC_2.3)
|
||||
060: 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
064: 4 (GLIBC_2.3.4) 1 (*global*) 8 (LIBSELINUX_1.0) 3 (GLIBC_2.2.5)
|
||||
068: 3 (GLIBC_2.2.5) 8 (LIBSELINUX_1.0) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5)
|
||||
06c: 3 (GLIBC_2.2.5) 2 (GLIBC_2.3) 2 (GLIBC_2.3) 3 (GLIBC_2.2.5)
|
||||
070: 4 (GLIBC_2.3.4) 1 (*global*) 1 (*global*) 1 (*global*)
|
||||
074: 1 (*global*) 3 (GLIBC_2.2.5) 3 (GLIBC_2.2.5) 1 (*global*)
|
||||
078: 3 (GLIBC_2.2.5) 1 (*global*) 1 (*global*)
|
||||
|
||||
Version needs section '.gnu.version_r' contains 2 entries:
|
||||
Addr: 0x0000000000001628 Offset: 0x001628 Link: 7 (.dynstr)
|
||||
000000: Version: 1 File: libselinux.so.1 Cnt: 1
|
||||
0x0010: Name: LIBSELINUX_1.0 Flags: none Version: 8
|
||||
0x0020: Version: 1 File: libc.so.6 Cnt: 9
|
||||
0x0030: Name: GLIBC_2.28 Flags: none Version: 11
|
||||
0x0040: Name: GLIBC_2.14 Flags: none Version: 10
|
||||
0x0050: Name: GLIBC_2.33 Flags: none Version: 9
|
||||
0x0060: Name: GLIBC_2.17 Flags: none Version: 7
|
||||
0x0070: Name: GLIBC_2.4 Flags: none Version: 6
|
||||
0x0080: Name: GLIBC_2.34 Flags: none Version: 5
|
||||
0x0090: Name: GLIBC_2.3.4 Flags: none Version: 4
|
||||
0x00a0: Name: GLIBC_2.2.5 Flags: none Version: 3
|
||||
0x00b0: Name: GLIBC_2.3 Flags: none Version: 2
|
||||
|
||||
Displaying notes found in: .note.gnu.property
|
||||
Owner Data size Description
|
||||
GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
|
||||
Properties: x86 feature: IBT, SHSTK
|
||||
x86 ISA needed: x86-64-baseline
|
||||
|
||||
Displaying notes found in: .note.gnu.build-id
|
||||
Owner Data size Description
|
||||
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
|
||||
Build ID: 36b86f957a1be53733633d184c3a3354f3fc7b12
|
||||
|
||||
Displaying notes found in: .note.ABI-tag
|
||||
Owner Data size Description
|
||||
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
|
||||
OS: Linux, ABI: 3.2.0
|
||||
41
doc/protocols.txt
Executable file
41
doc/protocols.txt
Executable file
@@ -0,0 +1,41 @@
|
||||
vim: shiftwidth=3
|
||||
|
||||
Rosetta Operating System: Protocols
|
||||
===================================
|
||||
|
||||
1 Introduction
|
||||
--------------
|
||||
|
||||
Due to its nature as a message-passing operating system, a standard
|
||||
"langauge" is needed in order to allow different components of the system
|
||||
to communicate with each other. This document describes the communication
|
||||
layer built on top of kernel IPC primitives to facilitate the fast transfer
|
||||
of structured data between components.
|
||||
|
||||
|
||||
2 Design Goals
|
||||
--------------
|
||||
|
||||
The key consideration for Protocols is low-overhead and speed. All system
|
||||
functionality is accessed via sending messages, so any speed or memory costs
|
||||
incurred will affect the performance of the entire system.
|
||||
|
||||
In addition, Protocols should be language-agnostic. Two components written
|
||||
in two different programming languages should be able to communicate as long
|
||||
as they both understand the same protocol.
|
||||
|
||||
|
||||
3 Overview
|
||||
----------
|
||||
|
||||
Protocols is a very thin layer overtop of Mango ports. It provides a
|
||||
declarative language for describing message layouts in a language-agnostic
|
||||
format, and a tool for generating concrete implementations of protocols in
|
||||
various programming languages.
|
||||
|
||||
Protocols makes heavy use of Mango's I/O vectors facility to avoid performing
|
||||
any dynamic memory allocation or unnecessary copying of data. As often as
|
||||
possible, any parameters you pass to a protocol function will be copied
|
||||
directly into the address space of the recipient. This makes Protocols
|
||||
essentially free to use.
|
||||
|
||||
16
doc/protocols/rosetta/io/Directory.rp
Executable file
16
doc/protocols/rosetta/io/Directory.rp
Executable file
@@ -0,0 +1,16 @@
|
||||
|
||||
mod rosetta.io;
|
||||
|
||||
protocol Directory;
|
||||
|
||||
struct Entry {
|
||||
char[64] name;
|
||||
}
|
||||
|
||||
msg Open
|
||||
-> string path, i32 flags;
|
||||
<- i32 status;
|
||||
|
||||
msg GetEntries
|
||||
-> i32 count;
|
||||
<-
|
||||
12
doc/protocols/rosetta/io/File.rp
Executable file
12
doc/protocols/rosetta/io/File.rp
Executable file
@@ -0,0 +1,12 @@
|
||||
|
||||
mod rosetta.io;
|
||||
|
||||
protocol File:
|
||||
|
||||
msg Read
|
||||
-> u32 count;
|
||||
<- i32 status, char[] data;
|
||||
|
||||
msg Write
|
||||
-> char[] data;
|
||||
<- i32 status;
|
||||
0
doc/protocols/rosetta/sys/SecurityManager.proto
Executable file
0
doc/protocols/rosetta/sys/SecurityManager.proto
Executable file
0
doc/protocols/rosetta/sys/SystemManager.proto
Executable file
0
doc/protocols/rosetta/sys/SystemManager.proto
Executable file
9
doc/service-hierarchy.txt
Executable file
9
doc/service-hierarchy.txt
Executable file
@@ -0,0 +1,9 @@
|
||||
systemd
|
||||
+--fsd [fs-ext2.so]
|
||||
+--emdevd
|
||||
+--lockdownd
|
||||
+--seatd
|
||||
+--sessiond
|
||||
| +--bash
|
||||
| +--nano
|
||||
+--airportd
|
||||
76
doc/simple.elf.dump.txt
Executable file
76
doc/simple.elf.dump.txt
Executable file
@@ -0,0 +1,76 @@
|
||||
|
||||
simple: file format elf64-x86-64
|
||||
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000004000b0 <a>:
|
||||
4000b0: 55 push %rbp
|
||||
4000b1: 48 89 e5 mov %rsp,%rbp
|
||||
4000b4: b8 34 12 00 00 mov $0x1234,%eax
|
||||
4000b9: 5d pop %rbp
|
||||
4000ba: c3 ret
|
||||
|
||||
00000000004000bb <b>:
|
||||
4000bb: 55 push %rbp
|
||||
4000bc: 48 89 e5 mov %rsp,%rbp
|
||||
4000bf: b8 00 d0 00 00 mov $0xd000,%eax
|
||||
4000c4: 5d pop %rbp
|
||||
4000c5: c3 ret
|
||||
|
||||
00000000004000c6 <c>:
|
||||
4000c6: 55 push %rbp
|
||||
4000c7: 48 89 e5 mov %rsp,%rbp
|
||||
4000ca: b8 25 00 00 00 mov $0x25,%eax
|
||||
4000cf: 5d pop %rbp
|
||||
4000d0: c3 ret
|
||||
|
||||
00000000004000d1 <_start>:
|
||||
4000d1: 55 push %rbp
|
||||
4000d2: 48 89 e5 mov %rsp,%rbp
|
||||
4000d5: 41 54 push %r12
|
||||
4000d7: 53 push %rbx
|
||||
4000d8: 48 83 ec 10 sub $0x10,%rsp
|
||||
4000dc: b8 00 00 00 00 mov $0x0,%eax
|
||||
4000e1: e8 ca ff ff ff call 4000b0 <a>
|
||||
4000e6: 41 89 c4 mov %eax,%r12d
|
||||
4000e9: b8 00 00 00 00 mov $0x0,%eax
|
||||
4000ee: e8 c8 ff ff ff call 4000bb <b>
|
||||
4000f3: 89 c3 mov %eax,%ebx
|
||||
4000f5: b8 00 00 00 00 mov $0x0,%eax
|
||||
4000fa: e8 c7 ff ff ff call 4000c6 <c>
|
||||
4000ff: 0f af c3 imul %ebx,%eax
|
||||
400102: 44 01 e0 add %r12d,%eax
|
||||
400105: 89 45 e8 mov %eax,-0x18(%rbp)
|
||||
400108: 8b 15 12 11 01 00 mov 0x11112(%rip),%edx # 411220 <result_a>
|
||||
40010e: 8b 45 e8 mov -0x18(%rbp),%eax
|
||||
400111: 01 d0 add %edx,%eax
|
||||
400113: 89 05 07 11 01 00 mov %eax,0x11107(%rip) # 411220 <result_a>
|
||||
400119: 8b 15 fd 10 01 00 mov 0x110fd(%rip),%edx # 41121c <result_b>
|
||||
40011f: 8b 45 e8 mov -0x18(%rbp),%eax
|
||||
400122: 01 d0 add %edx,%eax
|
||||
400124: 89 05 f2 10 01 00 mov %eax,0x110f2(%rip) # 41121c <result_b>
|
||||
40012a: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%rbp)
|
||||
400131: eb 24 jmp 400157 <_start+0x86>
|
||||
400133: 8b 45 ec mov -0x14(%rbp),%eax
|
||||
400136: 48 98 cltq
|
||||
400138: 0f b6 80 80 01 40 00 movzbl 0x400180(%rax),%eax
|
||||
40013f: 89 c2 mov %eax,%edx
|
||||
400141: 8b 45 e8 mov -0x18(%rbp),%eax
|
||||
400144: 01 d0 add %edx,%eax
|
||||
400146: 89 c2 mov %eax,%edx
|
||||
400148: 8b 45 ec mov -0x14(%rbp),%eax
|
||||
40014b: 48 98 cltq
|
||||
40014d: 88 90 40 12 41 00 mov %dl,0x411240(%rax)
|
||||
400153: 83 45 ec 01 addl $0x1,-0x14(%rbp)
|
||||
400157: 8b 45 ec mov -0x14(%rbp),%eax
|
||||
40015a: 3d ff ff 00 00 cmp $0xffff,%eax
|
||||
40015f: 76 d2 jbe 400133 <_start+0x62>
|
||||
400161: 8b 15 b9 10 01 00 mov 0x110b9(%rip),%edx # 411220 <result_a>
|
||||
400167: 8b 05 af 10 01 00 mov 0x110af(%rip),%eax # 41121c <result_b>
|
||||
40016d: 01 d0 add %edx,%eax
|
||||
40016f: 48 83 c4 10 add $0x10,%rsp
|
||||
400173: 5b pop %rbx
|
||||
400174: 41 5c pop %r12
|
||||
400176: 5d pop %rbp
|
||||
400177: c3 ret
|
||||
87
doc/simple.elf.txt
Executable file
87
doc/simple.elf.txt
Executable file
@@ -0,0 +1,87 @@
|
||||
ELF Header:
|
||||
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
|
||||
Class: ELF64
|
||||
Data: 2's complement, little endian
|
||||
Version: 1 (current)
|
||||
OS/ABI: UNIX - System V
|
||||
ABI Version: 0
|
||||
Type: EXEC (Executable file)
|
||||
Machine: Advanced Micro Devices X86-64
|
||||
Version: 0x1
|
||||
Entry point address: 0x4000d1
|
||||
Start of program headers: 64 (bytes into file)
|
||||
Start of section headers: 66560 (bytes into file)
|
||||
Flags: 0x0
|
||||
Size of this header: 64 (bytes)
|
||||
Size of program headers: 56 (bytes)
|
||||
Number of program headers: 2
|
||||
Size of section headers: 64 (bytes)
|
||||
Number of section headers: 10
|
||||
Section header string table index: 9
|
||||
|
||||
Section Headers:
|
||||
[Nr] Name Type Address Offset
|
||||
Size EntSize Flags Link Info Align
|
||||
[ 0] NULL 0000000000000000 00000000
|
||||
0000000000000000 0000000000000000 0 0 0
|
||||
[ 1] .text PROGBITS 00000000004000b0 000000b0
|
||||
00000000000000c8 0000000000000000 AX 0 0 1
|
||||
[ 2] .rodata PROGBITS 0000000000400180 00000180
|
||||
0000000000010000 0000000000000000 A 0 0 32
|
||||
[ 3] .eh_frame PROGBITS 0000000000410180 00010180
|
||||
000000000000009c 0000000000000000 A 0 0 8
|
||||
[ 4] .data PROGBITS 000000000041121c 0001021c
|
||||
0000000000000004 0000000000000000 WA 0 0 4
|
||||
[ 5] .bss NOBITS 0000000000411220 00010220
|
||||
0000000000010020 0000000000000000 WA 0 0 32
|
||||
[ 6] .comment PROGBITS 0000000000000000 00010220
|
||||
0000000000000012 0000000000000001 MS 0 0 1
|
||||
[ 7] .symtab SYMTAB 0000000000000000 00010238
|
||||
0000000000000138 0000000000000018 8 2 8
|
||||
[ 8] .strtab STRTAB 0000000000000000 00010370
|
||||
0000000000000043 0000000000000000 0 0 1
|
||||
[ 9] .shstrtab STRTAB 0000000000000000 000103b3
|
||||
0000000000000047 0000000000000000 0 0 1
|
||||
Key to Flags:
|
||||
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
|
||||
L (link order), O (extra OS processing required), G (group), T (TLS),
|
||||
C (compressed), x (unknown), o (OS specific), E (exclude),
|
||||
D (mbind), l (large), p (processor specific)
|
||||
|
||||
There are no section groups in this file.
|
||||
|
||||
Program Headers:
|
||||
Type Offset VirtAddr PhysAddr
|
||||
FileSiz MemSiz Flags Align
|
||||
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
|
||||
0x000000000001021c 0x000000000001021c R E 0x1000
|
||||
LOAD 0x000000000001021c 0x000000000041121c 0x000000000041121c
|
||||
0x0000000000000004 0x0000000000010024 RW 0x1000
|
||||
|
||||
Section to Segment mapping:
|
||||
Segment Sections...
|
||||
00 .text .rodata .eh_frame
|
||||
01 .data .bss
|
||||
|
||||
There is no dynamic section in this file.
|
||||
|
||||
There are no relocations in this file.
|
||||
No processor specific unwind information to decode
|
||||
|
||||
Symbol table '.symtab' contains 13 entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
1: 0000000000000000 0 FILE LOCAL DEFAULT ABS simple.c
|
||||
2: 00000000004000bb 11 FUNC GLOBAL DEFAULT 1 b
|
||||
3: 0000000000411220 4 OBJECT GLOBAL DEFAULT 5 result_a
|
||||
4: 000000000041121c 4 OBJECT GLOBAL DEFAULT 4 result_b
|
||||
5: 0000000000400180 65536 OBJECT GLOBAL DEFAULT 2 buffer2
|
||||
6: 00000000004000d1 167 FUNC GLOBAL DEFAULT 1 _start
|
||||
7: 0000000000411240 65536 OBJECT GLOBAL DEFAULT 5 buffer
|
||||
8: 00000000004000c6 11 FUNC GLOBAL DEFAULT 1 c
|
||||
9: 0000000000411220 0 NOTYPE GLOBAL DEFAULT 5 __bss_start
|
||||
10: 0000000000411220 0 NOTYPE GLOBAL DEFAULT 4 _edata
|
||||
11: 0000000000421240 0 NOTYPE GLOBAL DEFAULT 5 _end
|
||||
12: 00000000004000b0 11 FUNC GLOBAL DEFAULT 1 a
|
||||
|
||||
No version information found in this file.
|
||||
86
doc/system-services.txt
Executable file
86
doc/system-services.txt
Executable file
@@ -0,0 +1,86 @@
|
||||
==== SERVICE LIST ==============================================================
|
||||
|
||||
overlordd root process, manages all system-level services
|
||||
launchd launches executables
|
||||
nsd manages the system namespace (aka where all filesystems are
|
||||
mounted)
|
||||
lockdownd implements security and authentication
|
||||
sessiond manager and root process for a user session
|
||||
airportd manages sockets and network communications.
|
||||
emdevd host process for device drivers, one instance per system, hosts
|
||||
*all* devices
|
||||
seatd Manages and controls access to monitor and peripheral devices.
|
||||
fsd host process for filesystem driver, one instance per mounted
|
||||
filesystem
|
||||
|
||||
|
||||
==== TASK HIERARCHY ============================================================
|
||||
|
||||
backboardd
|
||||
+--launchd
|
||||
+--nsd
|
||||
+--lockdownd
|
||||
+--deviced
|
||||
+--airportd
|
||||
+--sysfsd
|
||||
+--seatd
|
||||
+--sessiond
|
||||
| +--window-manager
|
||||
| +--file-browser
|
||||
| +--web-browser
|
||||
+--sessiond
|
||||
| +--fbterm
|
||||
| +--bshell
|
||||
| +--vim
|
||||
+--e2fsd
|
||||
+--fatfsd
|
||||
|
||||
|
||||
==== SERVICE DETAILS ===========================================================
|
||||
|
||||
## BACKBOARDD ####
|
||||
* Root task (ID 1) created by the kernel during boot
|
||||
* manages the startup and lifecycle of all system-level services
|
||||
* Every task is provided with a handle to backboardd as part of the initial
|
||||
task environment
|
||||
* Backboardd can be used to gain access to certain system-level services, such
|
||||
as the namespace and task launcher
|
||||
|
||||
## LAUNCHD ####
|
||||
* Task creation service
|
||||
* Accepts requests from clients to run executable files
|
||||
|
||||
## NSD ####
|
||||
* Manages the system namespace
|
||||
* Filesystems can be mounted in the system namespace to make them visible to
|
||||
clients.
|
||||
|
||||
## LOCKDOWND ####
|
||||
* Manages security and authentication
|
||||
* Provides security tokens that can be associated with privileges and used
|
||||
for authorisation.
|
||||
|
||||
## SESSIOND ####
|
||||
* Root process for user login sessions.
|
||||
* All child tasks receive a connection to the session controller.
|
||||
* Holds session-wide data
|
||||
|
||||
## DEVICED ####
|
||||
* Hosts all device drivers.
|
||||
* Device drivers are implemented as shared libraries that are loaded into
|
||||
the device server at runtime.
|
||||
* Also hosts the device filesystem (usually mounted at /dev)
|
||||
|
||||
## SEATD ####
|
||||
* Manages 'seats'.
|
||||
* A seat is all of the peripherals that a user needs to interact with the
|
||||
system. Includes the monitor, keyboard, and mouse.
|
||||
* Allows multiple tasks to access a single seat at once. The user can use a
|
||||
special keyboard shortcut to switch between tasks.
|
||||
|
||||
## AIRPORTD ####
|
||||
* Manages remote communications.
|
||||
* All open sockets are represented internally as connections to airportd.
|
||||
* Supports loadable modules, which provide support for different network features,
|
||||
such as unix sockets, internet sockets, and passing messages between remote machines.
|
||||
|
||||
Reference in New Issue
Block a user