亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? coff-arm.c

?? 基于4個mips核的noc設計
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* BFD back-end for ARM COFF files.   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,   2000, 2001   Free Software Foundation, Inc.   Written by Cygnus Support.This file is part of BFD, the Binary File Descriptor library.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */#include "bfd.h"#include "sysdep.h"#include "libbfd.h"#include "coff/arm.h"#include "coff/internal.h"#ifdef COFF_WITH_PE#include "coff/pe.h"#endif#include "libcoff.h"/* Macros for manipulation the bits in the flags field of the coff data   structure.  */#define APCS_26_FLAG(       abfd )	(coff_data (abfd)->flags & F_APCS_26)#define APCS_FLOAT_FLAG(    abfd )	(coff_data (abfd)->flags & F_APCS_FLOAT)#define PIC_FLAG(           abfd )	(coff_data (abfd)->flags & F_PIC)#define APCS_SET(           abfd )	(coff_data (abfd)->flags & F_APCS_SET)#define SET_APCS_FLAGS(     abfd, flgs)	(coff_data (abfd)->flags = \					(coff_data (abfd)->flags & ~ (F_APCS_26 | F_APCS_FLOAT | F_PIC)) \					 | (flgs | F_APCS_SET))#define INTERWORK_FLAG(     abfd ) 	(coff_data (abfd)->flags & F_INTERWORK)#define INTERWORK_SET(      abfd ) 	(coff_data (abfd)->flags & F_INTERWORK_SET)#define SET_INTERWORK_FLAG( abfd, flg )	(coff_data (abfd)->flags = \					(coff_data (abfd)->flags & ~ F_INTERWORK) \					 | (flg | F_INTERWORK_SET))#ifndef NUM_ELEM#define NUM_ELEM(a) ((sizeof (a)) / sizeof ((a)[0]))#endiftypedef enum {bunknown, b9, b12, b23} thumb_pcrel_branchtype;/* some typedefs for holding instructions */typedef unsigned long int insn32;typedef unsigned short int insn16;     /* Forward declarations for stupid compilers.  */static boolean coff_arm_relocate_section  PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,           struct internal_reloc *, struct internal_syment *, asection **));static bfd_reloc_status_type aoutarm_fix_pcrel_26_done  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));static bfd_reloc_status_type aoutarm_fix_pcrel_26  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));static bfd_reloc_status_type coff_thumb_pcrel_23  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));static bfd_reloc_status_type coff_thumb_pcrel_12  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));static bfd_reloc_status_type coff_thumb_pcrel_9  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));static bfd_reloc_status_type coff_arm_reloc  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));static boolean coff_arm_adjust_symndx  PARAMS ((bfd *, struct bfd_link_info *, bfd *,	   asection *, struct internal_reloc *,	boolean *));static reloc_howto_type * coff_arm_rtype_to_howto  PARAMS ((bfd *, asection *, struct internal_reloc *,	   struct coff_link_hash_entry *, struct internal_syment *, bfd_vma *));static bfd_reloc_status_type coff_thumb_pcrel_common  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **,	   thumb_pcrel_branchtype));static CONST struct reloc_howto_struct * coff_arm_reloc_type_lookup  PARAMS ((bfd *, bfd_reloc_code_real_type));static struct bfd_link_hash_table * coff_arm_link_hash_table_create  PARAMS ((bfd *));static insn32 insert_thumb_branch  PARAMS ((insn32, int));static struct coff_link_hash_entry * find_thumb_glue  PARAMS ((struct bfd_link_info *, CONST char *, bfd *));static struct coff_link_hash_entry * find_arm_glue  PARAMS ((struct bfd_link_info *, CONST char *, bfd *));#ifndef COFF_IMAGE_WITH_PEstatic void record_arm_to_thumb_glue  PARAMS ((struct bfd_link_info *, struct coff_link_hash_entry *));static void record_thumb_to_arm_glue  PARAMS ((struct bfd_link_info *, struct coff_link_hash_entry *));#endifstatic boolean coff_arm_merge_private_bfd_data  PARAMS ((bfd *, bfd *));static boolean coff_arm_print_private_bfd_data  PARAMS ((bfd *, PTR));static boolean _bfd_coff_arm_set_private_flags  PARAMS ((bfd *, flagword));static boolean coff_arm_copy_private_bfd_data  PARAMS ((bfd *, bfd *));static boolean coff_arm_is_local_label_name  PARAMS ((bfd *, const char *));static boolean coff_arm_link_output_has_begun  PARAMS ((bfd *, struct coff_final_link_info *));static boolean coff_arm_final_link_postscript  PARAMS ((bfd *, struct coff_final_link_info *));/* The linker script knows the section names for placement.   The entry_names are used to do simple name mangling on the stubs.   Given a function name, and its type, the stub can be found. The   name can be changed. The only requirement is the %s be present.   */#define THUMB2ARM_GLUE_SECTION_NAME ".glue_7t"#define THUMB2ARM_GLUE_ENTRY_NAME   "__%s_from_thumb"#define ARM2THUMB_GLUE_SECTION_NAME ".glue_7"#define ARM2THUMB_GLUE_ENTRY_NAME   "__%s_from_arm"/* Used by the assembler.  */static bfd_reloc_status_typecoff_arm_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd,		 error_message)     bfd *abfd;     arelent *reloc_entry;     asymbol *symbol ATTRIBUTE_UNUSED;     PTR data;     asection *input_section ATTRIBUTE_UNUSED;     bfd *output_bfd;     char **error_message ATTRIBUTE_UNUSED;{  symvalue diff;  if (output_bfd == (bfd *) NULL)    return bfd_reloc_continue;  diff = reloc_entry->addend;#define DOIT(x) \  x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))    if (diff != 0)      {	reloc_howto_type *howto = reloc_entry->howto;	unsigned char *addr = (unsigned char *) data + reloc_entry->address;	switch (howto->size)	  {	  case 0:	    {	      char x = bfd_get_8 (abfd, addr);	      DOIT (x);	      bfd_put_8 (abfd, x, addr);	    }	    break;	  case 1:	    {	      short x = bfd_get_16 (abfd, addr);	      DOIT (x);	      bfd_put_16 (abfd, x, addr);	    }	    break;	  case 2:	    {	      long x = bfd_get_32 (abfd, addr);	      DOIT (x);	      bfd_put_32 (abfd, x, addr);	    }	    break;	  default:	    abort ();	  }      }  /* Now let bfd_perform_relocation finish everything up.  */  return bfd_reloc_continue;}/* If USER_LABEL_PREFIX is defined as "_" (see coff_arm_is_local_label_name()   in this file), then TARGET_UNDERSCORE should be defined, otherwise it   should not.  */#ifndef TARGET_UNDERSCORE#define TARGET_UNDERSCORE '_'#endif#ifndef PCRELOFFSET#define PCRELOFFSET true#endif/* These most certainly belong somewhere else. Just had to get rid of   the manifest constants in the code.  */#define ARM_8        0#define ARM_16       1#define ARM_32       2#define ARM_26       3#define ARM_DISP8    4#define ARM_DISP16   5#define ARM_DISP32   6#define ARM_26D      7/* 8 is unused */#define ARM_NEG16    9#define ARM_NEG32   10#define ARM_RVA32   11#define ARM_THUMB9  12#define ARM_THUMB12 13#define ARM_THUMB23 14#ifdef ARM_WINCE#undef  ARM_32#undef  ARM_RVA32#undef  ARM_26#undef  ARM_THUMB12#undef  ARM_26D#define ARM_32       1#define ARM_RVA32    2#define ARM_26	     3#define ARM_THUMB12  4#define ARM_26D      5#define ARM_SECTION  14#define ARM_SECREL   15#endifstatic reloc_howto_type aoutarm_std_reloc_howto[] ={  /* type              rs size bsz  pcrel bitpos ovrf                     sf name     part_inpl readmask  setmask    pcdone */#ifdef ARM_WINCE  EMPTY_HOWTO (-1),  HOWTO (ARM_32,	0,	2,	32,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_32",        true,	0xffffffff,	0xffffffff,	PCRELOFFSET),  HOWTO (ARM_RVA32,	0,	2,	32,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_RVA32",        true,	0xffffffff,	0xffffffff,	PCRELOFFSET),  HOWTO (ARM_26,	2,	2,	24,	true,	0,	complain_overflow_signed,	aoutarm_fix_pcrel_26 ,	"ARM_26",	false,	0x00ffffff,	0x00ffffff,	PCRELOFFSET),  HOWTO (ARM_THUMB12,	1,	1,	11,	true,	0,	complain_overflow_signed,	coff_thumb_pcrel_12 ,	"ARM_THUMB12",	false,	0x000007ff,	0x000007ff,	PCRELOFFSET),  HOWTO (ARM_26D,	2,	2,	24,	false,	0,	complain_overflow_dont,	aoutarm_fix_pcrel_26_done,	"ARM_26D",	true,	0x00ffffff,	0x0,	false),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  EMPTY_HOWTO (-1),  HOWTO (ARM_SECTION,	0,	1,	16,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_16",	true,	0x0000ffff,	0x0000ffff,	PCRELOFFSET),  HOWTO (ARM_SECREL,	0,	2,	32,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_32",        true,	0xffffffff,	0xffffffff,	PCRELOFFSET),#else /* not ARM_WINCE */  HOWTO(ARM_8,			/* type */	0,			/* rightshift */	0,			/* size */	8,			/* bitsize */	false,			/* pc_relative */	0,			/* bitpos */	complain_overflow_bitfield, /* complain_on_overflow */	coff_arm_reloc,		/* special_function */	"ARM_8",		/* name */        true,			/* partial_inplace */	0x000000ff,		/* src_mask */	0x000000ff,		/* dst_mask */	PCRELOFFSET		/* pcrel_offset */),  HOWTO(ARM_16,	0,	1,	16,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_16",	true,	0x0000ffff,	0x0000ffff,	PCRELOFFSET),  HOWTO(ARM_32,	0,	2,	32,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_32",        true,	0xffffffff,	0xffffffff,	PCRELOFFSET),  HOWTO(ARM_26,	2,	2,	24,	true,	0,	complain_overflow_signed,	aoutarm_fix_pcrel_26 ,	"ARM_26",	false,	0x00ffffff,	0x00ffffff,	PCRELOFFSET),  HOWTO(ARM_DISP8,	0,	0,	8,	true,	0,	complain_overflow_signed,	coff_arm_reloc,	"ARM_DISP8",	true,	0x000000ff,	0x000000ff,	true),  HOWTO( ARM_DISP16,	0,	1,	16,	true,	0,	complain_overflow_signed,	coff_arm_reloc,	"ARM_DISP16",	true,	0x0000ffff,	0x0000ffff,	true),  HOWTO( ARM_DISP32,	0,	2,	32,	true,	0,	complain_overflow_signed, 	coff_arm_reloc,	"ARM_DISP32",	true,	0xffffffff,	0xffffffff,	true),  HOWTO( ARM_26D,	2,	2,	24,	false,	0,	complain_overflow_dont,	aoutarm_fix_pcrel_26_done,	"ARM_26D",	true,	0x00ffffff,	0x0,	false),  /* 8 is unused */  EMPTY_HOWTO (-1),  HOWTO( ARM_NEG16,	0,	-1,	16,	false,	0,	complain_overflow_bitfield,	coff_arm_reloc,	"ARM_NEG16",        true,	0x0000ffff,	0x0000ffff,	false),  HOWTO( ARM_NEG32,	0,	-2,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线a电影| 蜜桃传媒麻豆第一区在线观看| 亚洲欧美综合另类在线卡通| 亚洲一区二区三区视频在线 | 色婷婷av一区二区三区软件| 777色狠狠一区二区三区| 久久久99久久精品欧美| 一区二区三区av电影| 国产精品1024| 在线电影一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久国产尿小便嘘嘘尿| 色综合中文字幕| 精品国产乱子伦一区| 亚洲天堂av一区| 国内精品免费在线观看| 欧美肥妇free| 亚洲色图在线播放| 国产一区激情在线| 日韩一级视频免费观看在线| 亚洲小说春色综合另类电影| 99视频国产精品| 亚洲国产成人在线| 国产盗摄精品一区二区三区在线| 欧美精品高清视频| 韩国成人在线视频| 91精品国产综合久久久蜜臀粉嫩 | 欧美日本在线播放| 亚洲色图视频网站| 成人精品亚洲人成在线| 国产欧美视频在线观看| 久久国产成人午夜av影院| 在线成人免费视频| 婷婷成人综合网| 在线播放/欧美激情| 天天色综合天天| 欧美日韩激情在线| 日韩福利视频网| 欧美一区二区三区四区在线观看| 亚洲6080在线| 欧美三级电影在线观看| 日韩影院在线观看| 99精品久久久久久| 3d成人h动漫网站入口| 欧美精品乱码久久久久久| 一区二区成人在线| 91久久精品国产91性色tv| 一区二区三区.www| 欧美色图在线观看| 性做久久久久久免费观看| 欧美日韩久久久| 免费一级欧美片在线观看| 91精品国产欧美一区二区| 久久se这里有精品| 亚洲国产成人一区二区三区| 色悠悠亚洲一区二区| 午夜成人免费视频| 欧美mv日韩mv| 粉嫩嫩av羞羞动漫久久久| 国产精品久久久久久久午夜片 | 欧美成人精品3d动漫h| 韩国av一区二区三区在线观看| 久久精品视频网| 成人av网在线| 亚洲国产视频一区二区| 久久综合九色综合欧美98| 不卡一卡二卡三乱码免费网站| 亚洲成人久久影院| 精品蜜桃在线看| 成人少妇影院yyyy| 亚洲午夜av在线| 337p粉嫩大胆噜噜噜噜噜91av | 欧美视频在线不卡| 经典三级视频一区| 一区二区三区日本| 2021国产精品久久精品| 91成人免费在线视频| 久热成人在线视频| 一区二区三区 在线观看视频| 精品久久久网站| 在线这里只有精品| 国产乱子伦视频一区二区三区 | 成人中文字幕电影| 日韩精品成人一区二区在线| 国产欧美va欧美不卡在线| 欧美乱妇20p| 成人网页在线观看| 免费成人在线观看| 有码一区二区三区| 国产欧美一区二区在线观看| 91精品啪在线观看国产60岁| 91小视频在线观看| 国产成人亚洲综合a∨婷婷| 香蕉久久一区二区不卡无毒影院| 国产精品灌醉下药二区| xfplay精品久久| 欧美美女视频在线观看| 色噜噜狠狠成人中文综合| 国产乱人伦偷精品视频免下载| 丝袜亚洲精品中文字幕一区| 亚洲欧美日韩在线播放| 国产欧美日本一区视频| 欧美成人精品福利| 欧美精品在线一区二区| 91国产视频在线观看| 成人综合婷婷国产精品久久| 久久 天天综合| 午夜在线电影亚洲一区| 亚洲伊人伊色伊影伊综合网| 中文字幕在线观看一区二区| 日本一区免费视频| 久久久亚洲欧洲日产国码αv| 日韩视频在线你懂得| 欧美一级免费大片| 欧美一区二区三区的| 欧美高清视频在线高清观看mv色露露十八| 成人av在线资源网站| 成人丝袜18视频在线观看| 狠狠色丁香久久婷婷综| 国产真实乱子伦精品视频| 狠狠久久亚洲欧美| 国产精品一区二区在线观看不卡| 国产一区在线观看视频| 国产一区二区女| 国产成人精品在线看| 国产91清纯白嫩初高中在线观看| 国产乱码精品一区二区三区忘忧草 | 国产大陆a不卡| 国产精品小仙女| 国产成人三级在线观看| 成人爱爱电影网址| 91在线观看免费视频| 色哟哟一区二区| 欧美精品一二三| 日韩欧美电影一区| 久久九九全国免费| 国产精品高清亚洲| 亚洲国产日韩精品| 久久99久国产精品黄毛片色诱| 国产专区欧美精品| av在线播放成人| 精品视频全国免费看| 欧美大片免费久久精品三p| 久久综合久色欧美综合狠狠| 国产精品久久久久久久岛一牛影视| 亚洲免费观看在线观看| 石原莉奈在线亚洲二区| 国产乱码一区二区三区| 色天使色偷偷av一区二区| 欧美精品一二三| 国产色91在线| 亚洲一区二区在线观看视频 | 国产精品影视在线观看| 91尤物视频在线观看| 日韩欧美一二区| 综合av第一页| 奇米888四色在线精品| 成人午夜精品在线| 欧美日韩国产高清一区二区三区| 精品国产不卡一区二区三区| 亚洲视频每日更新| 久久99九九99精品| 欧美在线三级电影| 久久精品亚洲国产奇米99| 亚洲一二三区不卡| 国产成人8x视频一区二区| 欧美精品色综合| 国产欧美视频在线观看| 日韩中文欧美在线| 91麻豆免费观看| 精品国产乱码久久久久久免费| 一区二区在线观看视频在线观看| 精品在线免费观看| 在线观看成人小视频| 国产精品日日摸夜夜摸av| 秋霞电影网一区二区| 日本乱人伦aⅴ精品| 久久精品一二三| 免费在线看一区| 欧美美女激情18p| 亚洲欧美电影院| 国产成人高清在线| 亚洲精品一区二区三区蜜桃下载| 一片黄亚洲嫩模| 99视频一区二区| 国产精品系列在线| 国产一区二区不卡老阿姨| 884aa四虎影成人精品一区| 亚洲人成网站影音先锋播放| 国产99久久久国产精品免费看| 日韩女同互慰一区二区| 日日摸夜夜添夜夜添国产精品| 色猫猫国产区一区二在线视频| 国产精品女人毛片| 国产精品99久久久久久有的能看 | 日韩午夜av一区| 日本免费在线视频不卡一不卡二| 欧美系列在线观看| 亚洲国产精品视频| 欧美亚洲丝袜传媒另类|