Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /proc/self/root/lib/modules/4.4.0-81-generic/build/arch/x86/tools/ |
Upload File : |
#!/bin/sh # # Calculate the amount of space needed to run the kernel, including room for # the .bss and .brk sections. # # Usage: # objdump -h a.out | sh calc_run_size.sh NUM='\([0-9a-fA-F]*[ \t]*\)' OUT=$(sed -n 's/^[ \t0-9]*.b[sr][sk][ \t]*'"$NUM$NUM$NUM$NUM"'.*/\1\4/p') if [ -z "$OUT" ] ; then echo "Never found .bss or .brk file offset" >&2 exit 1 fi OUT=$(echo ${OUT# }) sizeA=$(printf "%d" 0x${OUT%% *}) OUT=${OUT#* } offsetA=$(printf "%d" 0x${OUT%% *}) OUT=${OUT#* } sizeB=$(printf "%d" 0x${OUT%% *}) OUT=${OUT#* } offsetB=$(printf "%d" 0x${OUT%% *}) run_size=$(( $offsetA + $sizeA + $sizeB )) # BFD linker shows the same file offset in ELF. if [ "$offsetA" -ne "$offsetB" ] ; then # Gold linker shows them as consecutive. endB=$(( $offsetB + $sizeB )) if [ "$endB" != "$run_size" ] ; then printf "sizeA: 0x%x\n" $sizeA >&2 printf "offsetA: 0x%x\n" $offsetA >&2 printf "sizeB: 0x%x\n" $sizeB >&2 printf "offsetB: 0x%x\n" $offsetB >&2 echo ".bss and .brk are non-contiguous" >&2 exit 1 fi fi printf "%d\n" $run_size exit 0