Массив мог сделать строковый парсинг без потребности во временном файле. Не забывайте выключать globbing.
set -f
IFS=: Hosts=($HostFull)
HostMain=${Hosts[0]}
HostMid=${Hosts[1]}
HostSub=${Hosts[2]}
set +f
Цитата man elf
(но вы можете найти ту же информацию из спецификации ELF):
p_offset: Этот член содержит смещение от начала файла, в котором находится первый байт сегмента.
p_filesz: этот член содержит количество байтов в файловом изображении сегмента. Может быть ноль.
p_memsz: этот член содержит количество байтов в образе памяти сегмента. Может быть ноль.
Подведем итог:
p_offset
- это смещение сегмента в файле ELF;
p_memsz
- размер сегмента в памяти ;
p_filesz
- размер сегмента в файле .
Размер файла может быть меньше, чем размер в памяти p_memsz
: в этом случае оставшаяся часть сегмента заполняется нулями (в POSIX-подобных системах эта часть равна mmap
с использованием MAP_ANONYMOUS
).
Ссылки из GNU ld.so
:
Возможно, вас заинтересует код elfcat (инструмент, который я написал), который выгружает данный сегмент в стандартный вывод.