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

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

?? sunos.em

?? 基于4個mips核的noc設計
?? EM
?? 第 1 頁 / 共 2 頁
字號:
# This shell script emits a C file. -*- C -*-# It does some substitutions.cat >e${EMULATION_NAME}.c <<EOF/* This file is is generated by a shell script.  DO NOT EDIT! *//* SunOS emulation code for ${EMULATION_NAME}   Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000   Free Software Foundation, Inc.   Written by Steve Chamberlain <sac@cygnus.com>   SunOS shared library support by Ian Lance Taylor <ian@cygnus.com>This file is part of GLD, the Gnu Linker.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.  */#define TARGET_IS_${EMULATION_NAME}#include <ctype.h>#include "bfd.h"#include "sysdep.h"#include "bfdlink.h"#include "libiberty.h"#include "ld.h"#include "ldmain.h"#include "ldmisc.h"#include "ldexp.h"#include "ldlang.h"#include "ldfile.h"#include "ldemul.h"#ifdef HAVE_DIRENT_H# include <dirent.h>#else# define dirent direct# ifdef HAVE_SYS_NDIR_H#  include <sys/ndir.h># endif# ifdef HAVE_SYS_DIR_H#  include <sys/dir.h># endif# ifdef HAVE_NDIR_H#  include <ndir.h># endif#endifstatic void gld${EMULATION_NAME}_before_parse PARAMS ((void));static void gld${EMULATION_NAME}_set_symbols PARAMS ((void));static void gld${EMULATION_NAME}_create_output_section_statements  PARAMS ((void));static void gld${EMULATION_NAME}_find_so  PARAMS ((lang_input_statement_type *));static char *gld${EMULATION_NAME}_search_dir  PARAMS ((const char *, const char *, boolean *));static void gld${EMULATION_NAME}_after_open PARAMS ((void));static void gld${EMULATION_NAME}_check_needed  PARAMS ((lang_input_statement_type *));static boolean gld${EMULATION_NAME}_search_needed  PARAMS ((const char *, const char *));static boolean gld${EMULATION_NAME}_try_needed  PARAMS ((const char *, const char *));static void gld${EMULATION_NAME}_before_allocation PARAMS ((void));static void gld${EMULATION_NAME}_find_assignment  PARAMS ((lang_statement_union_type *));static void gld${EMULATION_NAME}_find_exp_assignment PARAMS ((etree_type *));static void gld${EMULATION_NAME}_count_need  PARAMS ((lang_input_statement_type *));static void gld${EMULATION_NAME}_set_need  PARAMS ((lang_input_statement_type *));static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));static voidgld${EMULATION_NAME}_before_parse(){  ldfile_output_architecture = bfd_arch_${ARCH};  config.dynamic_link = true;  config.has_shared = true;}/* This is called after the command line arguments have been parsed,   but before the linker script has been read.  If this is a native   linker, we add the directories in LD_LIBRARY_PATH to the search   list.  */static voidgld${EMULATION_NAME}_set_symbols (){EOFif [ "x${host}" = "x${target}" ] ; then  case " ${EMULATION_LIBPATH} " in  *" ${EMULATION_NAME} "*)cat >>e${EMULATION_NAME}.c <<EOF  const char *env;  env = (const char *) getenv ("LD_LIBRARY_PATH");  if (env != NULL)    {      char *l;      l = xstrdup (env);      while (1)	{	  char *c;	  c = strchr (l, ':');	  if (c != NULL)	    *c++ = '\0';	  if (*l != '\0')	    ldfile_add_library_path (l, false);	  if (c == NULL)	    break;	  l = c;	}    }EOF  ;;  esacficat >>e${EMULATION_NAME}.c <<EOF}/* Despite the name, we use this routine to search for dynamic   libraries.  On SunOS this requires a directory search.  We need to   find the .so file with the highest version number.  The user may   restrict the major version by saying, e.g., -lc.1.  Also, if we   find a .so file, we need to look for a the same file after   replacing .so with .sa; if it exists, it will be an archive which   provide some initializations for data symbols, and we need to   search it after including the .so file.  */static voidgld${EMULATION_NAME}_create_output_section_statements (){  lang_for_each_input_file (gld${EMULATION_NAME}_find_so);}/* Search the directory for a .so file for each library search.  */static voidgld${EMULATION_NAME}_find_so (inp)     lang_input_statement_type *inp;{  search_dirs_type *search;  char *found = NULL;  char *alc;  struct stat st;  if (! inp->search_dirs_flag      || ! inp->is_archive      || ! inp->dynamic)    return;  ASSERT (strncmp (inp->local_sym_name, "-l", 2) == 0);  for (search = search_head; search != NULL; search = search->next)    {      boolean found_static;      found = gld${EMULATION_NAME}_search_dir (search->name, inp->filename,					       &found_static);      if (found != NULL || found_static)	break;    }  if (found == NULL)    {      /* We did not find a matching .so file.  This isn't an error,	 since there might still be a matching .a file, which will be	 found by the usual search.  */      return;    }  /* Replace the filename with the one we have found.  */  alc = (char *) xmalloc (strlen (search->name) + strlen (found) + 2);  sprintf (alc, "%s/%s", search->name, found);  inp->filename = alc;  /* Turn off the search_dirs_flag to prevent ldfile_open_file from     searching for this file again.  */  inp->search_dirs_flag = false;  free (found);  /* Now look for the same file name, but with .sa instead of .so.  If     found, add it to the list of input files.  */  alc = (char *) xmalloc (strlen (inp->filename) + 1);  strcpy (alc, inp->filename);  strstr (alc + strlen (search->name), ".so")[2] = 'a';  if (stat (alc, &st) != 0)    free (alc);  else    {      lang_input_statement_type *sa;      /* Add the .sa file to the statement list just before the .so	 file.  This is really a hack.  */      sa = ((lang_input_statement_type *)	    xmalloc (sizeof (lang_input_statement_type)));      *sa = *inp;      inp->filename = alc;      inp->local_sym_name = alc;      inp->header.next = (lang_statement_union_type *) sa;      inp->next_real_file = (lang_statement_union_type *) sa;    }}/* Search a directory for a .so file.  */static char *gld${EMULATION_NAME}_search_dir (dirname, filename, found_static)     const char *dirname;     const char *filename;     boolean *found_static;{  int force_maj, force_min;  const char *dot;  unsigned int len;  char *alc;  char *found;  int max_maj, max_min;  DIR *dir;  struct dirent *entry;  unsigned int dirnamelen;  char *full_path;  int statval;  struct stat st;  *found_static = false;  force_maj = -1;  force_min = -1;  dot = strchr (filename, '.');  if (dot == NULL)    {      len = strlen (filename);      alc = NULL;    }  else    {      force_maj = atoi (dot + 1);      len = dot - filename;      alc = (char *) xmalloc (len + 1);      strncpy (alc, filename, len);      alc[len] = '\0';      filename = alc;      dot = strchr (dot + 1, '.');      if (dot != NULL)	force_min = atoi (dot + 1);    }  found = NULL;  max_maj = max_min = 0;  dir = opendir (dirname);  if (dir == NULL)    return NULL;  dirnamelen = strlen (dirname);    while ((entry = readdir (dir)) != NULL)    {      const char *s;      int found_maj, found_min;      if (strncmp (entry->d_name, "lib", 3) != 0	  || strncmp (entry->d_name + 3, filename, len) != 0)	continue;      if (dot == NULL	  && strcmp (entry->d_name + 3 + len, ".a") == 0)	{	  *found_static = true;	  continue;	}      /* We accept libfoo.so without a version number, even though the         native linker does not.  This is more convenient for packages         which just generate .so files for shared libraries, as on ELF         systems.  */      if (strncmp (entry->d_name + 3 + len, ".so", 3) != 0)	continue;      if (entry->d_name[6 + len] == '\0')	;      else if (entry->d_name[6 + len] == '.'	       && isdigit ((unsigned char) entry->d_name[7 + len]))	;      else	continue;      for (s = entry->d_name + 6 + len; *s != '\0'; s++)	if (*s != '.' && ! isdigit ((unsigned char) *s))	  break;      if (*s != '\0')	continue;      /* We've found a .so file.  Work out the major and minor	 version numbers.  */      found_maj = 0;      found_min = 0;      sscanf (entry->d_name + 3 + len, ".so.%d.%d",	      &found_maj, &found_min);      if ((force_maj != -1 && force_maj != found_maj)	  || (force_min != -1 && force_min != found_min))	continue;      /* Make sure the file really exists (ignore broken symlinks).  */      full_path = xmalloc (dirnamelen + 1 + strlen (entry->d_name) + 1);      sprintf (full_path, "%s/%s", dirname, entry->d_name);      statval = stat (full_path, &st);      free (full_path);      if (statval != 0)	continue;      /* We've found a match for the name we are searching for.  See	 if this is the version we should use.  If the major and minor	 versions match, we use the last entry in alphabetical order;	 I don't know if this is how SunOS distinguishes libc.so.1.8	 from libc.so.1.8.1, but it ought to suffice.  */      if (found == NULL	  || (found_maj > max_maj)	  || (found_maj == max_maj	      && (found_min > max_min		  || (found_min == max_min		      && strcmp (entry->d_name, found) > 0))))	{	  if (found != NULL)	    free (found);	  found = (char *) xmalloc (strlen (entry->d_name) + 1);	  strcpy (found, entry->d_name);	  max_maj = found_maj;	  max_min = found_min;	}    }  closedir (dir);  if (alc != NULL)    free (alc);  return found;}/* These variables are required to pass information back and forth   between after_open and check_needed.  */static struct bfd_link_needed_list *global_needed;static boolean global_found;/* This is called after all the input files have been opened.  */static voidgld${EMULATION_NAME}_after_open (){  struct bfd_link_needed_list *needed, *l;  /* We only need to worry about this when doing a final link.  */  if (link_info.relocateable || link_info.shared)    return;  /* Get the list of files which appear in ld_need entries in dynamic     objects included in the link.  For each such file, we want to     track down the corresponding library, and include the symbol     table in the link.  This is what the runtime dynamic linker will     do.  Tracking the files down here permits one dynamic object to     include another without requiring special action by the person     doing the link.  Note that the needed list can actually grow     while we are stepping through this loop.  */  needed = bfd_sunos_get_needed_list (output_bfd, &link_info);  for (l = needed; l != NULL; l = l->next)    {      struct bfd_link_needed_list *ll;      const char *lname;      search_dirs_type *search;      lname = l->name;      /* If we've already seen this file, skip it.  */      for (ll = needed; ll != l; ll = ll->next)	if (strcmp (ll->name, lname) == 0)	  break;      if (ll != l)	continue;      /* See if this file was included in the link explicitly.  */      global_needed = l;      global_found = false;      lang_for_each_input_file (gld${EMULATION_NAME}_check_needed);      if (global_found)	continue;      if (strncmp (lname, "-l", 2) != 0)	{	  bfd *abfd;	  abfd = bfd_openr (lname, bfd_get_target (output_bfd));	  if (abfd != NULL)	    {	      if (! bfd_check_format (abfd, bfd_object))		{		  (void) bfd_close (abfd);		  abfd = NULL;		}	    }	  if (abfd != NULL)	    {	      if ((bfd_get_file_flags (abfd) & DYNAMIC) == 0)		{		  (void) bfd_close (abfd);		  abfd = NULL;		}	    }	  if (abfd != NULL)	    {	      /* We've found the needed dynamic object.  */	      if (! bfd_link_add_symbols (abfd, &link_info))		einfo ("%F%B: could not read symbols: %E\n", abfd);	    }	  else	    {	      einfo ("%P: warning: %s, needed by %B, not found\n",		     lname, l->by);	    }	  continue;	}      lname += 2;      /* We want to search for the file in the same way that the	 dynamic linker will search.  That means that we want to use	 rpath_link, rpath or -L, then the environment variable	 LD_LIBRARY_PATH (native only), then (if rpath was used) the	 linker script LIB_SEARCH_DIRS.  */      if (gld${EMULATION_NAME}_search_needed (command_line.rpath_link,					      lname))	continue;      if (command_line.rpath != NULL)	{	  if (gld${EMULATION_NAME}_search_needed (command_line.rpath, lname))	    continue;	}      else	{	  for (search = search_head; search != NULL; search = search->next)	    if (gld${EMULATION_NAME}_try_needed (search->name, lname))	      break;	  if (search != NULL)	    continue;	}EOFif [ "x${host}" = "x${target}" ] ; then  case " ${EMULATION_LIBPATH} " in  *" ${EMULATION_NAME} "*)cat >>e${EMULATION_NAME}.c <<EOF      {	const char *lib_path;	lib_path = (const char *) getenv ("LD_LIBRARY_PATH");	if (gld${EMULATION_NAME}_search_needed (lib_path, lname))	  continue;      }EOF  ;;  esacficat >>e${EMULATION_NAME}.c <<EOF      if (command_line.rpath != NULL)	{	  for (search = search_head; search != NULL; search = search->next)	    {	      if (search->cmdline)		continue;	      if (gld${EMULATION_NAME}_try_needed (search->name, lname))		break;	    }	  if (search != NULL)	    continue;	}      einfo ("%P: warning: %s, needed by %B, not found\n",	     l->name, l->by);    }}/* Search for a needed file in a path.  */static booleangld${EMULATION_NAME}_search_needed (path, name)     const char *path;     const char *name;{  const char *s;  if (path == NULL || *path == '\0')    return false;  while (1)    {      const char *dir;      char *dircopy;      s = strchr (path, ':');      if (s == NULL)	{	  dircopy = NULL;	  dir = path;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久一二三区| 久久99国产精品麻豆| 99这里都是精品| 中文字幕制服丝袜一区二区三区| 成人激情小说网站| 亚洲精品成人在线| 在线播放/欧美激情| 日韩电影免费在线观看网站| 欧美mv和日韩mv的网站| 国产成人亚洲综合a∨婷婷图片| 日本一区二区三区四区 | 天堂成人国产精品一区| 欧美少妇bbb| 日一区二区三区| 久久蜜桃一区二区| 99精品热视频| 日日骚欧美日韩| 久久精品人人做人人综合| 91亚洲精品一区二区乱码| 午夜久久久久久久久| 精品国产污网站| 99视频精品在线| 奇米色777欧美一区二区| 国产欧美1区2区3区| 欧美主播一区二区三区| 精品在线播放午夜| 亚洲色图一区二区三区| 日韩视频免费观看高清完整版 | 国产精品丝袜91| 91福利在线免费观看| 麻豆成人在线观看| 综合久久给合久久狠狠狠97色| 欧美日本在线观看| 国产成人鲁色资源国产91色综| 亚洲黄色小视频| 精品久久免费看| 欧美又粗又大又爽| 国产九色精品成人porny| 亚洲无线码一区二区三区| 久久嫩草精品久久久久| 欧美色综合网站| 成人污视频在线观看| 美女视频黄 久久| 亚洲精品高清在线| 亚洲免费观看高清完整版在线观看| 欧美日韩在线免费视频| 成人av综合一区| 久久国产精品一区二区| 亚洲成人自拍网| 欧美亚洲国产bt| 91麻豆精品国产91久久久久久久久 | 亚洲精品第1页| 国产校园另类小说区| 91精品国产色综合久久ai换脸| 成人av在线资源网站| 狂野欧美性猛交blacked| 一区二区三区国产豹纹内裤在线| 欧美高清在线精品一区| 日韩一区二区免费高清| 欧美色大人视频| 一本久久a久久免费精品不卡| 国产激情精品久久久第一区二区| 蜜桃视频一区二区三区| 图片区小说区国产精品视频| 一区二区三区91| 中文字幕字幕中文在线中不卡视频| www亚洲一区| 日韩久久久久久| 日韩精品在线一区| 欧美一二三区在线| 欧美一卡2卡3卡4卡| 91麻豆精品国产91久久久久久 | 蜜桃av一区二区三区| 午夜精品爽啪视频| 亚洲va欧美va国产va天堂影院| 亚洲精品国久久99热| 亚洲欧洲在线观看av| 一色屋精品亚洲香蕉网站| 中文一区二区在线观看| 亚洲国产精华液网站w| 亚洲国产精品t66y| 国产精品美女www爽爽爽| 中文字幕中文字幕在线一区 | 精品在线播放免费| 激情另类小说区图片区视频区| 久久成人免费网| 国产一区二区电影| 国产老妇另类xxxxx| 成人午夜免费av| 色噜噜夜夜夜综合网| 在线视频国产一区| 欧美裸体一区二区三区| 欧美一区二区三区视频免费播放 | 亚洲一线二线三线视频| 捆绑紧缚一区二区三区视频 | 一二三区精品视频| 亚洲成人中文在线| 捆绑变态av一区二区三区| 国产麻豆视频一区| 一区二区三区久久久| 国产在线播放一区二区三区| 免费看欧美女人艹b| 久88久久88久久久| aaa国产一区| 精品污污网站免费看| 精品国产区一区| 中文字幕一区二区三区色视频| 亚洲综合成人网| 麻豆精品久久精品色综合| 国产成人激情av| 欧美亚洲综合在线| 精品久久久久久久久久久久久久久| 久久精品视频免费| 亚洲一区二区成人在线观看| 蜜桃av噜噜一区| 99久久综合色| 欧美一二三区在线| 亚洲视频资源在线| 免费成人小视频| 93久久精品日日躁夜夜躁欧美| 欧美日韩国产综合视频在线观看| 久久久综合网站| 亚洲一区二区三区在线看| 国产老肥熟一区二区三区| 91福利在线看| 国产欧美一区二区三区在线看蜜臀| 亚洲一卡二卡三卡四卡| 国产一区二区三区免费| 欧美午夜片在线观看| 久久精品一区二区三区四区| 亚洲精品福利视频网站| 国产一区不卡视频| 欧美日韩高清一区二区| 日韩毛片高清在线播放| 久久超级碰视频| 欧美日韩国产精品成人| 中文字幕一区在线观看视频| 欧美国产成人在线| 久久亚洲影视婷婷| 一区免费观看视频| 九九**精品视频免费播放| 色综合久久88色综合天天免费| 91精品国产综合久久蜜臀| 亚洲欧美日韩国产成人精品影院| 国产一区二区精品在线观看| 欧美日韩高清一区二区不卡| 伊人色综合久久天天人手人婷| 国产精品一区免费视频| 日韩一二三区视频| 午夜精品成人在线视频| 日本国产一区二区| 亚洲三级免费电影| 成人在线视频一区| 精品国产精品网麻豆系列| 免费成人av资源网| 91精品欧美久久久久久动漫| 亚洲成人精品在线观看| 在线精品视频小说1| 亚洲日本在线观看| 在线观看中文字幕不卡| ...中文天堂在线一区| 成人aa视频在线观看| 欧美国产国产综合| 成人av第一页| 中文字幕亚洲区| 播五月开心婷婷综合| 久久爱www久久做| 在线亚洲一区二区| 亚洲伦在线观看| 不卡区在线中文字幕| 中文字幕亚洲区| 91视频www| 亚洲一区日韩精品中文字幕| 91国产免费观看| 午夜伦欧美伦电影理论片| 在线播放亚洲一区| 另类小说综合欧美亚洲| 日韩欧美不卡在线观看视频| 精品一区二区三区在线观看国产 | 色婷婷一区二区| 亚洲一二三区在线观看| 欧美无砖砖区免费| 青青草国产精品亚洲专区无| 日韩小视频在线观看专区| 狠狠网亚洲精品| 国产精品免费看片| 日本高清不卡在线观看| 亚洲一区二区av在线| 欧美一区二区三区日韩| 激情六月婷婷综合| 1区2区3区国产精品| 欧美日韩大陆在线| 韩国在线一区二区| 中文字幕日韩av资源站| 欧美色视频一区| 国产一区二区按摩在线观看| 中文字幕在线观看不卡| 欧美精品在线视频| 国产一区在线观看麻豆| **欧美大码日韩|