Code:
# hexdump -Cv /proc/1/auxv
00000000 20 00 00 00 14 64 81 b7 21 00 00 00 00 60 81 b7 | ....d..!....`..|
00000010 10 00 00 00 ff fb eb 0f 06 00 00 00 00 10 00 00 |................|
00000020 11 00 00 00 64 00 00 00 03 00 00 00 34 80 04 08 |....d.......4...|
00000030 04 00 00 00 20 00 00 00 05 00 00 00 07 00 00 00 |.... ...........|
00000040 07 00 00 00 00 70 81 b7 08 00 00 00 00 00 00 00 |.....p..........|
00000050 09 00 00 00 30 9a 04 08 0b 00 00 00 00 00 00 00 |....0...........|
00000060 0c 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 00 |................|
00000070 0e 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 |................|
00000080 19 00 00 00 9b 48 9a bf 1f 00 00 00 f1 4f 9a bf |.....H.......O..|
00000090 0f 00 00 00 ab 48 9a bf 00 00 00 00 00 00 00 00 |.....H..........|
000000a0
All of processes have auxv information.
I found out that auxv means AUXiliary Vector.
This contains the contents of the ELF interpreter information passed to the process at exec time.
The values are those that were passed by the operating system as startup information to the dynamic linker.
These vectors are the mechanism to transfer some OS specific information to the program interpreter (e.g. ld) and the process.
The format is one unsigned long ID plus one unsigned long value for each entry. (according to man proc)
Then,
Code:
00000020 b7816414
00000021 b7816000
00000010 0febfbff
00000006 00001000
... ...
So... what does this values exactly mean ?