relocation

    0热度

    2回答

    我对我的OMAP3目标使用u-boot-2011.12问题,交叉工具链是CodeSourcery arm-none-linux-gnueabi,我编u-boot,下载它到目标并启动它,一切都很好,但我有一些问题u-boot重定位功能,我们知道此功能是基于PIC(位置独立代码),位置独立代码是通过将-fpic标志设置为gcc生成的,但在编译标志中找不到fpic。没有PIC,u-boot如何实现重定位

    4热度

    2回答

    我正在调查共享库的重定位,并且遇到了一些奇怪的问题。考虑以下代码: int myglob; int ml_util_func(int p) { return p + 2; } int ml_func2(int a, int b) { int c = ml_util_func(a); return c + b + myglob; } 我把它编译成一个

    4热度

    1回答

    我正在尝试为准系统ARM应用程序创建一个简单的链接器。目前加载模块的加载程序将简单地将偏移量添加到.got和.data.rel部分中的所有记录。这适用于.got以及所有需要在.data.rel内重新定位的符号。它会突破所有不可重定位的数据,因为那些数据也会得到这个偏移量。 例子: void some_function() { return; } struct a { void* fp

    1热度

    1回答

    阅读本书时计算机系统:程序员的视角第7.7.1节重定位条目:本节的简要内容是链接器如何重定位不同的引用目标文件。 当编译和objdump的示例源代码: void swap(); int buf[2] = {1, 2}; int main() { swap(); return 0; } 然后GCC -Wall -c -o main.o main.c中,和objdump

    1热度

    2回答

    我想了解.symtab setcion类型的可重定位目标文件。我知道它包含有关静态变量的信息。但为什么? 我们需要做的是将可重定位的对象文件与其他对象链接起来,这个静态变量(当然还有其他一些,但对静态变量无关紧要)。所以我们需要的是 - 重定位表,它存储在.rel.data中,并包含重定位静态变量的所有信息,不是吗?

    37热度

    12回答

    这是我的情况。 我已经遵循wordpress codex页面有关将网站移动到另一台服务器的确切说明。 这是我采取的步骤。 出口我的数据库的副本 在新的服务器 导入我前面 出口通过FTP 使用此script上传我的WordPress的文件副本数据库创建一个新的数据库将所有本地网址更改为新的 根据新服务器对我的wp-config.php文件进行更改(我没有忘记表格前缀,虽然它有一些大写字母) ,然后当

    9热度

    1回答

    因此,x86-64具有与RIP相关的寻址功能,这使得PIC代码易于编写,并且所需的重定位更少。为什么在x86-64上仍然需要重定位?什么功能?我可以尝试使用objdump来探索,但是要编译哪些C/C++代码模式才能看到?

    0热度

    1回答

    我试图在Solaris 10盒子上运行snoop。 默认情况下并未安装Snoop,我从Solaris 10光盘中抓取它。 我安装的软件包是SUNWrcmdc,因为man snoop显示它依赖于此软件包。 现在,当我运行窥探的根,我得到以下错误: 程序ld.so.1:窥探:致命的:重定位错误:文件/ usr/sbin目录/窥察:符号dlpi_passive:引用的符号未找到 听起来像库路径错误。所以

    1热度

    1回答

    我想在Linux机器上交叉编译ImageMagick。工具链附带的libstdC++。a不用fPIC编译。我想用这个文件代替。然而,libtool不断链接libstdC++。a(作为整个档案),我得到了重定位错误。我也看到了与其他图书馆相同的问题。有任何想法吗?

    5热度

    2回答

    将主程序重新初始化在自己的图像库中之后。 如何保证那个被加载的dll会加载为0x400000 dllImageBase = LoadLibrary("test.dll"); printf("imagebase = 0x%x", dllImageBase); 我总是得到的0x460000,而不是为0x400000 我需要的DLL第一条指令从0x401000开始,它用来重订 命令连接衍合前的0x