libfrelocation R_AARCH64_ADR_PREL_PG_HI21 against symbol which may bind externally can not be used

2024-02-22 01:32

本文主要是介绍libfrelocation R_AARCH64_ADR_PREL_PG_HI21 against symbol which may bind externally can not be used,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

加上了-fPIC这个参数以后,就没有再出现这个错误

 gcc -fPIC  -shared -o hack.so hack.c

-fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),
  则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意
  位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。

这篇关于libfrelocation R_AARCH64_ADR_PREL_PG_HI21 against symbol which may bind externally can not be used的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733731

相关文章

pip install pyaudio sounddevice error: externally-managed-environment

shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceerror: externally-managed-environment× This environment is externally managed╰─> To install Python package

QEMU用户模式测试AARCH64程序

QEMU的两种模式 QEMU(快速模拟器)是一个开源的机器模拟器和虚拟化器,它能够模拟多种处理器架构,并且可以在不同平台上运行。QEMU 支持两种模式:用户模式和系统模式。 用户模式(User Mode): 用户模式下的 QEMU 仅模拟用户空间的二进制执行环境,不模拟底层硬件。这种模式下,QEMU 可以运行不同架构编译的二进制程序,而不需要这些程序与宿主机的架构相匹配。用户模式通常用于测试和

Tomcat启动报错:transport error 202: bind failed: Address already in use

Tomcat启动报错:transport error 202: bind failed: Address already in use 了,上网查找了下面这篇文章。也是一种解决办法。 下文来自:http://blog.csdn.net/sam031503/article/details/7037033 tomcat 启动日志报出以下错误:  ERROR: transport err

【C++学习(28)】通俗一点讲解:std::bind 回调技术

std::bind 是 C++11 标准库中的一个功能,它允许你“绑定”某些参数到一个函数、成员函数或可调用对象上,从而生成一个新的可调用对象。这种新的可调用对象可以稍后被调用,而且其中一些参数已经被预先设置好了。这在回调函数和异步编程中特别有用。 下面我用一个通俗的例子来解释 std::bind 是如何工作的。 假设场景 假设你有一个家庭厨师,他有一个技能叫做“做饭”。做饭需要两个参数:一

jQuery Mobile 的.bind()、.live()和.delegate()之间区别

资料一: live方法是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用JS等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件。      live方法之所以能对后生成的元素也绑定相应的事件的原因归结在“事件委托”上面,所谓

duplicate symbol _OBJC_IVAR

今天该死的SVN又TMD出问题,update之后出现了下面这种问题: duplicate symbol _OBJC_IVAR_$_BDConversationCell._userNameLabel in: 某路径 该错误是一种链接错误,令人头疼的是Xcode不会直接定位到问题具体位置。 但其仍有一定的规律,大概是以下原因:   1.检查是否误导入了问题中类的 .m 文件; 报错:

JS中的【Symbol】全面讲解

1. 什么是 Symbol? Symbol 是 ES6 引入的一种新的原始数据类型(Primitive Data Type)。与 string、number、boolean、null 和 undefined 一样,Symbol 是不可变的原始值。Symbol 的特殊之处在于它是唯一的,即使两个 Symbol 的描述相同,它们的值也不相等。 2. Symbol 的创建 Symbol 通过 Sy

Jaxb - com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 8 counts of IllegalAnnotationExcepti

一、异常 com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 8 counts of IllegalAnnotationExceptions类的两个属性具有相同名称 "orderName"his problem is related to the following location:at public java.lang.Stri

error C4996: 'fopen': This function or variable may be unsafe.

今天在vs2013编程中遇到这样的错误:error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details

关于GDB运行时No symbol table is loaded. Use the “file“ command.的解决方法

最近有同学问GDB使用的问题,对此做一个整理。 首先,GDB已经报错file找不到了,那可以运行file test检测一下 (gdb) file testReading symbols from test...(no debugging symbols found)...done. 发现找不到可执行文件,所以问题应该在于编译时候没有加上ggdb3,重新编译一下 ty@ubuntu: