⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixup.c

📁 T-kernel 的extension源代码
💻 C
字号:
/* *---------------------------------------------------------------------- *    T-Kernel / Standard Extension * *    Copyright (C) 2006 by Ken Sakamura. All rights reserved. *    T-Kernel / Standard Extension is distributed  *      under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * *    Version:   1.00.00 *    Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* *	@(#)fixup.c (solib)  * *	Shared object(SO)support library *	Search/link of symbol */#include "../../so.h"/* * Runtime symbol link */EXPORT UW __so_fixup( DLInfo *dlp, UW relofs){	Elf32_Rel	*rel;	Elf32_Sym	*sym;	UB		*name;	UW		val;	UW		*uwp;	DM("__so_fixup\n");	rel = (Elf32_Rel *)((UW)dlp->jreltab + relofs);	sym = &dlp->symtab[ELF32_R_SYM(rel->r_info)];	/* Symbol search (link) */	name = dlp->strtab + sym->st_name;	val = __so_resolve(dlp, name, R_ARM_JUMP_SLOT, &sym);	if ( sym == NULL ) {		SYSLOG((LOG_ERR, "solib: %s is not defined", name));	}	/* Store the symbol value */	uwp = (UW*)((UB *)(rel->r_offset) + dlp->ldofs);	*uwp = val;	return val;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -