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

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

?? sunos.c

?? 基于4個mips核的noc設計
?? C
?? 第 1 頁 / 共 5 頁
字號:
	 The address is put in the ld_symbols field.  */      s = bfd_make_section (abfd, ".dynstr");      if (s == NULL	  || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)	  || ! bfd_set_section_alignment (abfd, s, 2))	return false;      sunos_hash_table (info)->dynamic_sections_created = true;    }  if ((needed && ! sunos_hash_table (info)->dynamic_sections_needed)      || info->shared)    {      bfd *dynobj;      dynobj = sunos_hash_table (info)->dynobj;      s = bfd_get_section_by_name (dynobj, ".got");      if (s->_raw_size == 0)	s->_raw_size = BYTES_IN_WORD;      sunos_hash_table (info)->dynamic_sections_needed = true;      sunos_hash_table (info)->got_needed = true;    }  return true;}/* Add dynamic symbols during a link.  This is called by the a.out   backend linker for each object it encounters.  */static booleansunos_add_dynamic_symbols (abfd, info, symsp, sym_countp, stringsp)     bfd *abfd;     struct bfd_link_info *info;     struct external_nlist **symsp;     bfd_size_type *sym_countp;     char **stringsp;{  asection *s;  bfd *dynobj;  struct sunos_dynamic_info *dinfo;  unsigned long need;  /* Make sure we have all the required sections.  */  if (info->hash->creator == abfd->xvec)    {      if (! sunos_create_dynamic_sections (abfd, info,					   (((abfd->flags & DYNAMIC) != 0					     && ! info->relocateable)					    ? true					    : false)))	return false;    }  /* There is nothing else to do for a normal object.  */  if ((abfd->flags & DYNAMIC) == 0)    return true;  dynobj = sunos_hash_table (info)->dynobj;  /* We do not want to include the sections in a dynamic object in the     output file.  We hack by simply clobbering the list of sections     in the BFD.  This could be handled more cleanly by, say, a new     section flag; the existing SEC_NEVER_LOAD flag is not the one we     want, because that one still implies that the section takes up     space in the output file.  If this is the first object we have     seen, we must preserve the dynamic sections we just created.  */  if (abfd != dynobj)    abfd->sections = NULL;  else    {      asection *s;      for (s = abfd->sections;	   (s->flags & SEC_LINKER_CREATED) == 0;	   s = s->next)	;      abfd->sections = s;    }  /* The native linker seems to just ignore dynamic objects when -r is     used.  */  if (info->relocateable)    return true;  /* There's no hope of using a dynamic object which does not exactly     match the format of the output file.  */  if (info->hash->creator != abfd->xvec)    {      bfd_set_error (bfd_error_invalid_operation);      return false;    }  /* Make sure we have a .need and a .rules sections.  These are only     needed if there really is a dynamic object in the link, so they     are not added by sunos_create_dynamic_sections.  */  if (bfd_get_section_by_name (dynobj, ".need") == NULL)    {      /* The .need section holds the list of names of shared objets	 which must be included at runtime.  The address of this	 section is put in the ld_need field.  */      s = bfd_make_section (dynobj, ".need");      if (s == NULL	  || ! bfd_set_section_flags (dynobj, s,				      (SEC_ALLOC				       | SEC_LOAD				       | SEC_HAS_CONTENTS				       | SEC_IN_MEMORY				       | SEC_READONLY))	  || ! bfd_set_section_alignment (dynobj, s, 2))	return false;    }  if (bfd_get_section_by_name (dynobj, ".rules") == NULL)    {      /* The .rules section holds the path to search for shared	 objects.  The address of this section is put in the ld_rules	 field.  */      s = bfd_make_section (dynobj, ".rules");      if (s == NULL	  || ! bfd_set_section_flags (dynobj, s,				      (SEC_ALLOC				       | SEC_LOAD				       | SEC_HAS_CONTENTS				       | SEC_IN_MEMORY				       | SEC_READONLY))	  || ! bfd_set_section_alignment (dynobj, s, 2))	return false;    }  /* Pick up the dynamic symbols and return them to the caller.  */  if (! sunos_slurp_dynamic_symtab (abfd))    return false;  dinfo = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);  *symsp = dinfo->dynsym;  *sym_countp = dinfo->dynsym_count;  *stringsp = dinfo->dynstr;  /* Record information about any other objects needed by this one.  */  need = dinfo->dyninfo.ld_need;  while (need != 0)    {      bfd_byte buf[16];      unsigned long name, flags;      unsigned short major_vno, minor_vno;      struct bfd_link_needed_list *needed, **pp;      char *namebuf, *p;      size_t alc;      bfd_byte b;      char *namecopy;      if (bfd_seek (abfd, need, SEEK_SET) != 0	  || bfd_read (buf, 1, 16, abfd) != 16)	return false;      /* For the format of an ld_need entry, see aout/sun4.h.  We         should probably define structs for this manipulation.  */      name = bfd_get_32 (abfd, buf);      flags = bfd_get_32 (abfd, buf + 4);      major_vno = (unsigned short)bfd_get_16 (abfd, buf + 8);      minor_vno = (unsigned short)bfd_get_16 (abfd, buf + 10);      need = bfd_get_32 (abfd, buf + 12);      needed = ((struct bfd_link_needed_list *)		bfd_alloc (abfd, sizeof (struct bfd_link_needed_list)));      if (needed == NULL)	return false;      needed->by = abfd;      /* We return the name as [-l]name[.maj][.min].  */      alc = 30;      namebuf = (char *) bfd_malloc (alc + 1);      if (namebuf == NULL)	return false;      p = namebuf;      if ((flags & 0x80000000) != 0)	{	  *p++ = '-';	  *p++ = 'l';	}      if (bfd_seek (abfd, name, SEEK_SET) != 0)	{	  free (namebuf);	  return false;	}      do	{	  if (bfd_read (&b, 1, 1, abfd) != 1)	    {	      free (namebuf);	      return false;	    }	  if ((size_t) (p - namebuf) >= alc)	    {	      char *n;	      alc *= 2;	      n = (char *) bfd_realloc (namebuf, alc + 1);	      if (n == NULL)		{		  free (namebuf);		  return false;		}	      p = n + (p - namebuf);	      namebuf = n;	    }	  *p++ = b;	}      while (b != '\0');      if (major_vno == 0)	*p = '\0';      else	{	  char majbuf[30];	  char minbuf[30];	  sprintf (majbuf, ".%d", major_vno);	  if (minor_vno == 0)	    minbuf[0] = '\0';	  else	    sprintf (minbuf, ".%d", minor_vno);	  if ((p - namebuf) + strlen (majbuf) + strlen (minbuf) >= alc)	    {	      char *n;	      alc = (p - namebuf) + strlen (majbuf) + strlen (minbuf);	      n = (char *) bfd_realloc (namebuf, alc + 1);	      if (n == NULL)		{		  free (namebuf);		  return false;		}	      p = n + (p - namebuf);	      namebuf = n;	    }	  strcpy (p, majbuf);	  strcat (p, minbuf);	}      namecopy = bfd_alloc (abfd, strlen (namebuf) + 1);      if (namecopy == NULL)	{	  free (namebuf);	  return false;	}      strcpy (namecopy, namebuf);      free (namebuf);      needed->name = namecopy;      needed->next = NULL;      for (pp = &sunos_hash_table (info)->needed;	   *pp != NULL;	   pp = &(*pp)->next)	;      *pp = needed;    }  return true;}/* Function to add a single symbol to the linker hash table.  This is   a wrapper around _bfd_generic_link_add_one_symbol which handles the   tweaking needed for dynamic linking support.  */static booleansunos_add_one_symbol (info, abfd, name, flags, section, value, string,		      copy, collect, hashp)     struct bfd_link_info *info;     bfd *abfd;     const char *name;     flagword flags;     asection *section;     bfd_vma value;     const char *string;     boolean copy;     boolean collect;     struct bfd_link_hash_entry **hashp;{  struct sunos_link_hash_entry *h;  int new_flag;  if ((flags & (BSF_INDIRECT | BSF_WARNING | BSF_CONSTRUCTOR)) != 0      || ! bfd_is_und_section (section))    h = sunos_link_hash_lookup (sunos_hash_table (info), name, true, copy,				false);  else    h = ((struct sunos_link_hash_entry *)	 bfd_wrapped_link_hash_lookup (abfd, info, name, true, copy, false));  if (h == NULL)    return false;  if (hashp != NULL)    *hashp = (struct bfd_link_hash_entry *) h;  /* Treat a common symbol in a dynamic object as defined in the .bss     section of the dynamic object.  We don't want to allocate space     for it in our process image.  */  if ((abfd->flags & DYNAMIC) != 0      && bfd_is_com_section (section))    section = obj_bsssec (abfd);  if (! bfd_is_und_section (section)      && h->root.root.type != bfd_link_hash_new      && h->root.root.type != bfd_link_hash_undefined      && h->root.root.type != bfd_link_hash_defweak)    {      /* We are defining the symbol, and it is already defined.  This	 is a potential multiple definition error.  */      if ((abfd->flags & DYNAMIC) != 0)	{	  /* The definition we are adding is from a dynamic object.	     We do not want this new definition to override the	     existing definition, so we pretend it is just a	     reference.  */	  section = bfd_und_section_ptr;	}      else if (h->root.root.type == bfd_link_hash_defined	       && h->root.root.u.def.section->owner != NULL	       && (h->root.root.u.def.section->owner->flags & DYNAMIC) != 0)	{	  /* The existing definition is from a dynamic object.  We	     want to override it with the definition we just found.	     Clobber the existing definition.  */	  h->root.root.type = bfd_link_hash_undefined;	  h->root.root.u.undef.abfd = h->root.root.u.def.section->owner;	}      else if (h->root.root.type == bfd_link_hash_common	       && (h->root.root.u.c.p->section->owner->flags & DYNAMIC) != 0)	{	  /* The existing definition is from a dynamic object.  We	     want to override it with the definition we just found.	     Clobber the existing definition.  We can't set it to new,	     because it is on the undefined list.  */	  h->root.root.type = bfd_link_hash_undefined;	  h->root.root.u.undef.abfd = h->root.root.u.c.p->section->owner;	}    }  if ((abfd->flags & DYNAMIC) != 0      && abfd->xvec == info->hash->creator      && (h->flags & SUNOS_CONSTRUCTOR) != 0)    {      /* The existing symbol is a constructor symbol, and this symbol         is from a dynamic object.  A constructor symbol is actually a         definition, although the type will be bfd_link_hash_undefined         at this point.  We want to ignore the definition from the         dynamic object.  */      section = bfd_und_section_ptr;    }  else if ((flags & BSF_CONSTRUCTOR) != 0	   && (abfd->flags & DYNAMIC) == 0	   && h->root.root.type == bfd_link_hash_defined	   && h->root.root.u.def.section->owner != NULL	   && (h->root.root.u.def.section->owner->flags & DYNAMIC) != 0)    {      /* The existing symbol is defined by a dynamic object, and this         is a constructor symbol.  As above, we want to force the use         of the constructor symbol from the regular object.  */      h->root.root.type = bfd_link_hash_new;    }  /* Do the usual procedure for adding a symbol.  */  if (! _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section,					  value, string, copy, collect,					  hashp))    return false;  if (abfd->xvec == info->hash->creator)    {      /* Set a flag in the hash table entry indicating the type of	 reference or definition we just found.  Keep a count of the	 number of dynamic symbols we find.  A dynamic symbol is one	 which is referenced or defined by both a regular object and a	 shared object.  */      if ((abfd->flags & DYNAMIC) == 0)	{	  if (bfd_is_und_section (section))	    new_flag = SUNOS_REF_REGULAR;	  else	    new_flag = SUNOS_DEF_REGULAR;	}      else	{	  if (bfd_is_und_section (section))	    new_flag = SUNOS_REF_DYNAMIC;	  else	    new_flag = SUNOS_DEF_DYNAMIC;	}      h->flags |= new_flag;      if (h->dynindx == -1	  && (h->flags & (SUNOS_DEF_REGULAR | SUNOS_REF_REGULAR)) != 0)	{	  ++sunos_hash_table (info)->dynsymcount;	  h->dynindx = -2;	}      if ((flags & BSF_CONSTRUCTOR) != 0	  && (abfd->flags & DYNAMIC) == 0)	h->flags |= SUNOS_CONSTRUCTOR;    }  return true;}/* Return the list of objects needed by BFD.  *//*ARGSUSED*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服.丝袜.亚洲.另类.中文| 日本一区二区三区国色天香| 国产网站一区二区| 亚洲国产成人91porn| 高清不卡一区二区| 国产一区二区视频在线播放| 久久久三级国产网站| 亚洲日本电影在线| 成人一级片网址| 欧美mv和日韩mv国产网站| 天天色综合成人网| 97久久久精品综合88久久| 国产午夜亚洲精品理论片色戒| 丝袜美腿亚洲一区二区图片| 欧美在线一区二区| 亚洲男人的天堂在线aⅴ视频| 国产不卡视频在线观看| 久久亚洲二区三区| 麻豆91在线看| 日韩写真欧美这视频| 日欧美一区二区| 欧美色国产精品| 亚洲精品五月天| 在线欧美日韩精品| 日韩一区在线免费观看| 99久久精品国产一区| 国产精品国产三级国产有无不卡 | 亚洲精品在线免费播放| 日本视频中文字幕一区二区三区| 欧美猛男男办公室激情| 香蕉久久一区二区不卡无毒影院 | fc2成人免费人成在线观看播放| 久久久久亚洲蜜桃| 成人免费观看男女羞羞视频| 国产精品国产精品国产专区不蜜 | 一区二区三区av电影| 色先锋aa成人| 婷婷国产在线综合| 日韩免费性生活视频播放| 麻豆成人久久精品二区三区小说| 欧美成人激情免费网| 美脚の诱脚舐め脚责91| 欧美一级一级性生活免费录像| 日本美女一区二区| 精品美女被调教视频大全网站| 国产传媒久久文化传媒| 国产精品初高中害羞小美女文| 在线视频观看一区| 青青青伊人色综合久久| 亚洲精品一区二区三区99 | 精品一区二区三区在线播放视频| 欧美成人vps| 成人av资源站| 日一区二区三区| 精品免费日韩av| 99re视频精品| 青青草伊人久久| 中文字幕欧美三区| 欧美三级日韩三级| 狠狠色综合色综合网络| 亚洲色图一区二区| 欧美不卡一区二区| 94-欧美-setu| 韩国av一区二区三区四区| 国产精品视频一二三区| 欧美精品v国产精品v日韩精品| 国产一区二区三区久久悠悠色av| 亚洲精品久久久蜜桃| 日韩精品一区二区三区四区| 91在线免费视频观看| 裸体健美xxxx欧美裸体表演| 国产精品区一区二区三| 3d动漫精品啪啪1区2区免费| 成人a区在线观看| 日本麻豆一区二区三区视频| 亚洲欧美电影院| 久久久www成人免费无遮挡大片| av不卡一区二区三区| 激情综合网最新| 天天综合色天天| 亚洲欧美一区二区三区国产精品| 久久嫩草精品久久久久| 欧美三级视频在线| 99久久精品免费看国产免费软件| 成人中文字幕在线| 日韩av中文在线观看| 日韩一区日韩二区| 久久精品亚洲精品国产欧美kt∨| 555夜色666亚洲国产免| 91视频.com| 国产91精品露脸国语对白| 久久国产麻豆精品| 午夜伦欧美伦电影理论片| 一区二区三区在线观看视频| 国产精品视频一二三区| 久久久九九九九| 久久国产精品露脸对白| 色综合天天综合色综合av| 国内精品在线播放| 婷婷六月综合亚洲| 亚洲美女在线一区| 中文字幕欧美一| 国产日产精品一区| 欧美经典一区二区三区| 精品国产亚洲一区二区三区在线观看| 欧美日本免费一区二区三区| 欧美私模裸体表演在线观看| 日本二三区不卡| 97国产精品videossex| 91婷婷韩国欧美一区二区| 成人激情免费视频| 99亚偷拍自图区亚洲| 成人av资源网站| 色综合中文字幕国产 | 麻豆免费看一区二区三区| 五月婷婷激情综合| 亚洲精品欧美专区| 一区二区三区中文字幕精品精品| 亚洲欧美国产毛片在线| 亚洲猫色日本管| 亚洲一区视频在线| 亚洲18影院在线观看| 日精品一区二区| 久久99国产精品久久99| 国产寡妇亲子伦一区二区| 成人性生交大片免费看中文| 成人app网站| 在线观看一区日韩| 91精品中文字幕一区二区三区| 欧美成人性战久久| 中文字幕欧美日韩一区| 亚洲美女电影在线| 日本视频一区二区三区| 国产精品 日产精品 欧美精品| 成人网在线免费视频| 在线日韩一区二区| 欧美大片一区二区三区| 国产色产综合色产在线视频| 亚洲男人天堂av| 日本三级韩国三级欧美三级| 亚洲一区二区免费视频| 日韩手机在线导航| 久久综合色播五月| 国产精品久久久久久久久免费相片| 综合精品久久久| 视频一区在线播放| 国产麻豆日韩欧美久久| 91小视频在线观看| 欧美一区二区视频在线观看| 国产精品丝袜一区| 国产日韩成人精品| 天天综合网 天天综合色| 国产成人av电影在线播放| 在线观看免费成人| 精品88久久久久88久久久| 亚洲男人天堂一区| 国产一区二区精品在线观看| 91久久精品一区二区三区| 精品久久久久一区| 亚洲bdsm女犯bdsm网站| 国产不卡视频在线播放| 欧美肥大bbwbbw高潮| 国产欧美一区二区三区网站| 日本中文字幕不卡| 在线免费观看视频一区| 国产午夜精品久久久久久久| 日韩在线卡一卡二| 色综合激情久久| 欧美国产精品专区| 精品一区二区三区视频在线观看| 欧日韩精品视频| 欧美国产一区二区| 精品一区二区三区久久久| 欧美性受极品xxxx喷水| 国产精品福利一区二区三区| 激情文学综合网| 日韩一区二区在线看片| 亚洲线精品一区二区三区| 91小视频免费看| 国产精品久久久久久妇女6080 | 99久久99久久精品国产片果冻 | 一区二区三区欧美久久| 成人免费看的视频| 国产三级精品三级在线专区| 久久国产精品免费| 日韩精品一区二区三区四区| 天天做天天摸天天爽国产一区| 欧美亚洲高清一区二区三区不卡| 亚洲三级在线免费观看| 99精品偷自拍| 国产精品久久久久一区二区三区| 国产91高潮流白浆在线麻豆| 国产亚洲精久久久久久| 国产成人啪午夜精品网站男同| 精品99一区二区| 91在线观看下载| 亚洲欧洲www| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲免费在线观看| 欧美性生活一区|