### Copyright (C) 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ### This file is part of stage0. ### ### stage0 is free software: you can redistribute it and/or modify ### it under the terms of the GNU General Public License as published by ### the Free Software Foundation, either version 3 of the License, or ### (at your option) any later version. ### ### stage0 is distributed in the hope that it will be useful, ### but WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### ### You should have received a copy of the GNU General Public License ### along with stage0. If not, see <http://www.gnu.org/licenses/>. ### stage0's hex2 format for x86 ### !<label> 1 byte relative ### $<label> 2 byte address ### @<label> 2 byte relative ### &<label> 4 byte address ### %<label> 4 byte relative ### local_<label> function-local ### string_<index> string #<index> ### elf32-footer-single-main.hex2: 32 bit elf footer in hex2 for single main # @230 :ELF_str 00 # 0 :ELF_str__start 5f 73 74 61 72 74 00 # _start :ELF_str__main 6d 61 69 6e 00 # main 00 00 00 # @240 :ELF_sym 00 00 00 00 # st-name 00 00 00 00 # st-offset: &_start - BaseAddress 00 00 00 00 # st-len : &main - _start 00 # st-info = stt-func= 2 00 # st-other 01 00 # st-shndx: 1 # _start %ELF_str__start>ELF_str # st-name &_start 10 00 00 00 # st-len : &main - _start 02 # st-info = stt-func= 2 00 # st-other 01 00 # st-shndx: 1 # main %ELF_str__main>ELF_str # st-name &main 10 00 00 00 # st-len : &ELF_data - main 02 # st-info = stt-func= 2 00 # st-other 01 00 # st-shndx: 1 :ELF_end