elf64alpha.sh
来自「基于4个mips核的noc设计」· Shell 代码 · 共 67 行
SH
67 行
ENTRY=_startSCRIPT_NAME=elfELFSIZE=64TEMPLATE_NAME=elf32OUTPUT_FORMAT="elf64-alpha"TEXT_START_ADDR="0x120000000"MAXPAGESIZE=0x10000NONPAGED_TEXT_START_ADDR="0x120000000"ARCH=alphaMACHINE=GENERATE_SHLIB_SCRIPT=yesDATA_PLT=NOP=0x47ff041fOTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'# This code gets inserted into the generic elf32.sc linker script# and allows us to define our own command line switches.PARSE_AND_LIST_PROLOGUE='#define OPTION_TASO 300/* Set the start address as in the Tru64 ld */#define ALPHA_TEXT_START_32BIT 0x12000000static int elf64alpha_32bit = 0;struct ld_emulation_xfer_struct ld_elf64alpha_emulation;static void gld_elf64alpha_finish ();'PARSE_AND_LIST_LONGOPTS=' {"taso", no_argument, NULL, OPTION_TASO},'PARSE_AND_LIST_OPTIONS=' fprintf (file, _(" -taso\t\t\tLoad executable in the lower 31-bit addressable\n")); fprintf (file, _("\t\t\t virtual address range\n"));'PARSE_AND_LIST_ARGS_CASES=' case EOF: if (elf64alpha_32bit && !link_info.shared && !link_info.relocateable) { lang_section_start (".interp", exp_binop ('\''+'\'', exp_intop (ALPHA_TEXT_START_32BIT), exp_nameop (SIZEOF_HEADERS, NULL))); ld_elf64alpha_emulation.finish = gld_elf64alpha_finish; } return 0; case OPTION_TASO: elf64alpha_32bit = 1; break;'PARSE_AND_LIST_EPILOGUE='#include "elf/internal.h"#include "elf/alpha.h"#include "elf-bfd.h"static voidgld_elf64alpha_finish(){ elf_elfheader (output_bfd)->e_flags |= EF_ALPHA_32BIT;}'
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?