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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? signals.c

?? 二進(jìn)制翻譯的一個(gè)軟件
?? C
字號(hào):
/* * Copyright (c) 2005, Johns Hopkins University and The EROS Group, LLC. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *  * Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. *  * Redistributions in binary form must reproduce the above *    copyright notice, this list of conditions and the following *    disclaimer in the documentation and/or other materials provided *    with the distribution. * *  * Neither the name of the Johns Hopkins University, nor the name *    of The EROS Group, LLC, nor the names of their contributors may *    be used to endorse or promote products derived from this *    software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */#include <stdbool.h>#include <assert.h>#include <stdio.h>#include "switches.h"#include "debug.h"#include "util.h"#include "machine.h"#include "decode.h"#include "emit.h"#include "xlcore.h"#include "emit-support.h"#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/user.h>#include <fcntl.h>#include <errno.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <sched.h>#include <asm/unistd.h>#include "signals.h"#include <assert.h>#include <setjmp.h>#ifdef INLINE_EMITTERS#define INLINE static inline#include "emit-inline.c"#endif#ifdef SIGNALS// TODO?: SIGNAL handling is not tested if hybrid translation// USE_STATIC_DUMP is enabled.Mlist_t *Mlist;pthread_mutex_t Mlist_mutex;voidaddToMlist(Mlist_t *node){  assert(node != NULL);  if(pthread_mutex_lock(&Mlist_mutex) != 0)    panic("Mlist_mutex lock error: %s\n", strerror(errno));   node->next = Mlist;  Mlist = node;   if(pthread_mutex_unlock(&Mlist_mutex) != 0)    panic("Mlist_mutex unlock error: %s\n", strerror(errno));}voidremFromMlist(int pid){  if(Mlist == NULL)    return;  if(pthread_mutex_lock(&Mlist_mutex) != 0)    panic("Mlist_mutex lock error: %s\n", strerror(errno));   if(Mlist->pid == pid) {    Mlist = Mlist->next;  }  else {    Mlist_t *curr = Mlist;    Mlist_t *prev = Mlist;    for(; curr != NULL; curr = curr->next)      if(curr->pid == pid) {	prev->next = curr->next;	break;      }  }    if(pthread_mutex_unlock(&Mlist_mutex) != 0)    panic("Mlist_mutex unlock error: %s\n", strerror(errno));}machine_t *getMfromMlist(int pid){   Mlist_t *curr;  for(curr = Mlist; curr != NULL; curr = curr->next)    if(curr->pid == pid)      return curr->M;  return NULL;}sigset_t allSignals;register unsigned long curr_esp asm("esp") __attribute_used__;static voidmaskAllSignals(sigset_t *oldSet){  sigprocmask(SIG_SETMASK, &allSignals, oldSet);  }voidrestoreMask(sigset_t *oldSet){  sigprocmask(SIG_SETMASK, oldSet, NULL);}voidmasterSigHandler(int signum, volatile struct sigcontext ctx){  sigset_t oldSet;  sigset_t *oldSet_addr = &oldSet;    maskAllSignals(&oldSet);    DEBUG(signal_capture)    fprintf(DBG, " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");    DEBUG(signal_note)     fprintf(DBG, "Master Signal Handler for: [%d] %s\n",  	    signum, sig_names[signum]);    machine_t *M = getMfromMlist(getpid());  if(M == NULL) {        extern machine_t theMachine;    extern pt_state thePtState;    M = &theMachine;    M->ptState = &thePtState;  }  k_sigaction *sa = &(M->ptState->sa_table[signum].new);  sighandler_t sh = sa->sa_handler;      if(sh == NULL) {    fprintf(DBG, "For this signal: %s, handler is NULL\n", 	    sig_names[signum]);    panic("Segmentation Fault, Core NOT dumped\n");  }  else    assert((sh != SIG_DFL) && (sh != SIG_IGN));  /* Set up accessors to my frame */  char *myFramePtr = (char *) &signum;  myFramePtr -= sizeof(char *); // Move up the return address    /* Figure out where I am, so that I can think of making arrangements     to deliver the signal */    unsigned char *eip = (unsigned char *) ctx.eip;    unsigned char *MSHaddr = (unsigned char *) masterSigHandler;  unsigned char *MSHendAddr = (unsigned char *) &&end_of_masterSigHandler;  if(M->border_esp == 0) {        if(eip > M->bbCache_main && eip < M->bbOut) {          DEBUG(signal_capture) 	fprintf(DBG, "Signal %s arrived Within BBCache\n",		sig_names[signum]);    }    else if(eip > M->bbCache && eip < M->bbCache_main) {      DEBUG(signal_capture) 	fprintf(DBG, "Signal %s arrived Within BBCache, in one of the Special BBs\n",		sig_names[signum]);            }    else if(eip > MSHaddr && eip < MSHendAddr) {      DEBUG(signal_capture) 	fprintf(DBG, "Signal %s arrived inside MasterSignalHandler\n",		sig_names[signum]);    }    else {      DEBUG(signal_capture) 	fprintf(DBG, "Signal %s arrived elsewhere: 0x%lx.\n", 		sig_names[signum], eip);    }  }  else {    DEBUG(signal_capture)       fprintf(DBG, "Signal %s arrived Within the Translator\n",	    sig_names[signum]);          }   simple_delivery:  ;  machine_t *sigM = init_signal_trans((unsigned long)sh, M);  sigM->border_esp = 500;    asm volatile ("mov %0, %%esp\n\t" // my function "returned"		"pushf\n\t" 		"pusha\n\t"		  		"pushl %1\n\t"		"call restoreMask\n\t"		"leal 4(%%esp), %%esp\n\t" 		"jmp *%2\n\t" // Branch to the translator		:		: "m" (myFramePtr), "a" (oldSet_addr), 		  "S" (sigM->startup_slow_dispatch_bb)		);  panic("MasterSigHandler: \"unreachable code\" reached\n");   end_of_masterSigHandler:  return;}#if 0    DEBUG(signal_capture) {    extern bb_entry *xlate_bb(machine_t *M);    fprintf(DBG, "bbCache = 0x%lx  ", M->bbCache);    fprintf(DBG, "past-spl = 0x%lx  ", M->bbCache_main);    fprintf(DBG, "bbOut = 0x%lx ", M->bbOut);    fprintf(DBG, "xlator = 0x%lx\n", &xlate_bb);    void sigaction_syscall_pre(machine_t *M, fixregs_t regs);    bool do_decode(machine_t *M, decode_t *ds);    struct sigframe *f = (struct sigframe *) myFramePtr;    fprintf(DBG, "masterSigHandler start = 0x%lx,  ", masterSigHandler);    fprintf(DBG, "masterSigHandler end   = 0x%lx\n", &&end_of_masterSigHandler);    fprintf(DBG, "do_decode   = 0x%lx  Return = %lx\n\n", do_decode, 	    f->pretcode);          }#endif   #endif /* SIGNALS */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲日韩一区二区三区| 精品国产乱码久久久久久夜甘婷婷 | 51久久夜色精品国产麻豆| 久久99国产精品麻豆| 日韩不卡一区二区| 蜜臀久久久99精品久久久久久| 精品一区二区三区在线观看国产| 91高清在线观看| 国产乱人伦偷精品视频不卡| 成人性生交大片免费看在线播放| 欧美激情一区二区三区不卡 | av在线播放成人| k8久久久一区二区三区| 91精品国产一区二区人妖| 日韩高清不卡一区二区三区| 菠萝蜜视频在线观看一区| 99国产麻豆精品| 三级影片在线观看欧美日韩一区二区| 欧美午夜片在线观看| 视频在线观看一区二区三区| 精品久久久久一区二区国产| 成人美女在线视频| 亚洲一区日韩精品中文字幕| 欧美成人三级在线| 成人av网址在线| 天堂蜜桃91精品| 国产欧美日韩在线| 欧美日本一道本在线视频| 国产乱子轮精品视频| 亚洲激情五月婷婷| 久久一区二区三区国产精品| 91丨porny丨户外露出| 日韩av电影免费观看高清完整版| 国产欧美一区二区在线观看| 欧美在线观看一二区| 久久av资源站| 亚洲成av人片一区二区| 久久精品夜色噜噜亚洲aⅴ| 91黄视频在线| 国产精品一二一区| 亚洲成a人片在线观看中文| 中文字幕乱码一区二区免费| 这里只有精品免费| 色婷婷激情久久| 国产成人综合自拍| 丝袜美腿亚洲综合| 亚洲午夜久久久久中文字幕久| 欧美一区二区视频网站| 在线观看区一区二| 成人免费看片app下载| 久久精品国产一区二区三| 一区二区三区日韩在线观看| 精品国产伦一区二区三区观看体验 | 欧美电影在线免费观看| 国产高清精品网站| 日本视频中文字幕一区二区三区| 亚洲人成网站精品片在线观看| 精品国产制服丝袜高跟| 欧美精品99久久久**| 91传媒视频在线播放| 国产激情91久久精品导航| 久久精品国产77777蜜臀| 日韩专区在线视频| 一区二区三区成人在线视频 | 亚洲丝袜自拍清纯另类| 久久久综合网站| 精品欧美一区二区在线观看| 欧美精品在线观看播放| 欧美在线一二三| 欧美怡红院视频| 在线欧美小视频| 色一区在线观看| 91麻豆国产福利在线观看| heyzo一本久久综合| 国内精品在线播放| 日本不卡高清视频| 亚洲日本一区二区三区| 色哦色哦哦色天天综合| 蜜桃视频免费观看一区| 一区二区三区四区在线免费观看| 欧美日韩高清影院| 国产一区二区三区四区五区入口 | 国产精品一区专区| 国产精品久久一卡二卡| 欧美日韩的一区二区| 99久久免费视频.com| 久久国产麻豆精品| 自拍偷拍亚洲欧美日韩| 亚洲bdsm女犯bdsm网站| 精品1区2区在线观看| 亚洲小说春色综合另类电影| 欧美精品1区2区3区| 成人av集中营| 懂色中文一区二区在线播放| 高清视频一区二区| 欧美高清一级片在线| 玖玖九九国产精品| 久久国产婷婷国产香蕉| 精品在线播放午夜| 国产精品1024久久| 99久免费精品视频在线观看| 色成人在线视频| 69p69国产精品| 91精品国模一区二区三区| 欧美三级日韩三级| 中文字幕+乱码+中文字幕一区| 精品国产欧美一区二区| 精品成人在线观看| 久久精品欧美日韩| 亚洲成人精品影院| 亚洲男同性恋视频| 亚洲成人黄色小说| 国产91在线观看| 国产成人免费在线视频| 久久免费视频色| 成人高清视频在线观看| 亚洲精品视频在线观看免费 | 国产亚洲综合av| 成人激情免费电影网址| 亚洲一区二区欧美激情| 欧美一区二区大片| 日本一区二区在线不卡| 91丝袜高跟美女视频| 亚洲欧洲av色图| av激情综合网| 亚洲精品成人悠悠色影视| 欧美日韩视频专区在线播放| 五月天丁香久久| 日韩欧美国产综合在线一区二区三区 | 一区二区三区日本| 日韩午夜精品电影| 成人福利电影精品一区二区在线观看| 国产精品青草综合久久久久99| 精品视频999| 成人黄色777网| 精品亚洲aⅴ乱码一区二区三区| 国产精品欧美一区喷水| 日韩欧美123| 色偷偷成人一区二区三区91| 国产在线精品视频| 亚洲福利国产精品| 亚洲精品日韩一| 国产精品免费人成网站| 亚洲精品在线免费播放| 正在播放亚洲一区| 欧美日韩和欧美的一区二区| 成人国产精品免费观看视频| 久久精品国产第一区二区三区| 亚洲一区二区三区四区五区黄 | 欧美亚洲另类激情小说| 日本欧美韩国一区三区| 亚洲图片欧美色图| 国产精品久久午夜| 成人免费视频一区二区| 欧美国产日韩亚洲一区| 91免费看视频| 午夜精品久久一牛影视| 欧美老人xxxx18| 日本不卡123| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 久久精品久久精品| 国产在线精品不卡| 777欧美精品| 午夜精品久久久久久久久久久 | 国产黄色精品网站| 蜜桃视频在线观看一区二区| 亚洲天堂av老司机| 日日摸夜夜添夜夜添国产精品| 色欧美乱欧美15图片| 国产一区不卡在线| 亚洲欧洲精品成人久久奇米网| 日韩精品一区二区三区视频播放 | 本田岬高潮一区二区三区| 亚洲国产精品麻豆| 丁香亚洲综合激情啪啪综合| 国产欧美日韩在线| av一区二区久久| 亚洲精品第1页| 欧美日韩一区二区三区四区| 在线视频欧美精品| 天堂午夜影视日韩欧美一区二区| 日韩欧美一级片| 一本色道久久综合亚洲aⅴ蜜桃 | 日本一区二区视频在线| 91蜜桃传媒精品久久久一区二区| 99久久综合色| 一区二区三区蜜桃网| 欧美色精品天天在线观看视频| 亚洲在线观看免费| 精品精品国产高清a毛片牛牛| 国产精品资源在线观看| 国产精品久久看| 精品视频资源站| 黄页网站大全一区二区| 国产精品美女久久久久久2018| 91电影在线观看| 激情国产一区二区| 亚洲人成电影网站色mp4| 日韩一区二区在线免费观看| 国产不卡在线一区|