relocation truncated to fit: R_X86_64_PC32

GCC 编译错误 relocation truncated to fit: R_X86_64_32S against `.bss' 问题如下图所示:(.text+0x53a): relocation truncated to fit: R_X86_64_32S against `.bss'     以前在linux中编译程序,从来没有遇到过这种问题,今天第一次遇到。查了一些资料发现时内存的限制,自己还有些疑问,以前编译内存大小是4G的程序都没出现过这种错误。       看到一些博文中说是内存超过2G会出现问题。需 阅读详情
/home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o): In function `for__message_catalog_close':
for_diags_intel.c:(.text+0x17): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
/home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o): In function `for__io_return':
for_diags_intel.c:(.text+0x82a): relocation truncated to fit: R_X86_64_PC32 against symbol `for__user_iomsg_len' defined in .bss section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x831): relocation truncated to fit: R_X86_64_PC32 against symbol `for__user_iomsg_buf' defined in .bss section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x9ae): relocation truncated to fit: R_X86_64_PC32 against symbol `for__user_iomsg_len' defined in .bss section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x9b5): relocation truncated to fit: R_X86_64_PC32 against symbol `for__user_iomsg_buf' defined in .bss section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xb10): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xb53): relocation truncated to fit: R_X86_64_PC32 against `tmp_ptr.0'
for_diags_intel.c:(.text+0xbd8): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /home_soft/soft/x86_64/compiler/intel/11.0/081/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xc0a): relocation truncated to fit: R_X86_64_PC32 against `tmp_sev.0'
for_diags_intel.c:(.text+0xc1d): relocation truncated to fit: R_X86_64_PC32 against `tmp_ptr.0'
for_diags_intel.c:(.text+0xc29): additional relocation overflows omitted from the output


以上错误,可能通过增加选项-mcmodel=medium来解决:

mpif90 -mcmodel=medium -shared-intel -o ddm  stagsimple.F solveuss.F  solvevss.F  solvewss.F ppoisson.F tdma.F


http://www.slac.stanford.edu/comp/unix/package/intel_tools/icc/mergedProjects/copts_cls/common_options/option_mcmodel.htm

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38988

http://docs.notur.no/uit/stallo_documentation/error/large-arrays-2gb-memory

bl跳转指令使用错误导致编译出现错误--relocation truncated to fit: R_ARM_PC24 init_irq bl 跳转指令只能在+/- 32MB内跳转: 阅读详情

相关推荐

make: *** [.tmp_vmlinux1] 错误 1

init/built-in.o: In function `loglevel': calibrate.c:(.init.text+0x120): relocation truncated to fit: R_ARM_CALL against symbol `get_option' defined in .text section in lib/lib.a(cmdline.o) init/bui

习惯就好zz的专栏 1730

C编译报错relocation truncated to fit: R_X86_64_PC32 against symbol `b' defined in .bss

问题如下图所示:(.text+0x53a): relocation truncated to fit: R_X86_64_32S against `.bss' 以前在linux中编译程序,从来没有遇到过这种问题,今天第一次遇到。查了一些资料发现时内存的限制,自己还有些疑问,以前编译内存大小是4G的程序都没出现过这种错误。 看到一些博文中说是内存超过2G会出现问题。需要...

www.helloworld.com 1万+

别只盯着Spectre!Cadence Virtuoso里APS和Spectre X该怎么选?一份给模拟IC新手的指南

本文深入解析Cadence Virtuoso中的三大仿真引擎Spectre、APS和Spectre X,帮助模拟IC新手根据电路规模、精度需求和计算资源做出智能选择。通过对比技术指标和应用场景,提供射频电路、混合信号系统和电源管理IC的优化仿真策略,显著提升设计效率。

weixin_26841743的博客 707

Relocation truncated to fit解决办法

这种情况一般出现在汇编代码中。有些跳转指令的跳转范围很小。而当要跳转到的地址超出了范围,那么就会报错! 对于x86: 最终的原因是使用参数-mcmodel=kernel,只能使用最高2G最低2G的内存空间,如果想使用更多的大内存空间,应该使用-mcmodel=large。 对于ppc: mcmodel对于ppc并不适用,我们在网上搜索找到了-mlongcall参数,加入到base_c...

weixin_44138807的博客 2万+

innovus实战攻略 | 用setUsefulSkewMode解锁时序优化的“隐藏技能”!

就像时序优化的“瑞士军刀”,参数虽多,但掌握了分类逻辑后,用起来其实很简单!如果你有更绝的用法,欢迎在评论区分享,大家一起卷起来!简单来说,它就是时序优化的“乾坤大挪移”。通过调整触发器的时钟到达时间,把关键路径的建立时间“借”给非关键路径,从而实现全局时序收敛。别急,这个命令就是你的“时序救星”!(工具最多只能借1.2ns的裕量,防止“借过头”导致新问题!这个参数能帮你兜底!(对关键路径“下死手”,确保优化到位!(设置上限,给工具套上“紧箍咒”!(直接跳过边界,避免优化反噬!(全局管理,防止“借过头”!

weixin_50820814的博客 1355

3.ESP32S3 AP 配网开发实战:HTTP 与 WebSocket 协议实现

本文介绍了基于ESP32S3的AP配网实现方案,通过HTTP协议提供配网网页,利用WebSocket实现双向通信。详细解析了HTTP和WebSocket协议特点,阐述了SPIFFS文件系统存储HTML网页的方法,包括分区表配置、CMakeLists设置和代码实现。工程采用模块化设计,包含WiFi管理、Web服务器、IO扩展等组件,支持手机浏览器直接配网。测试验证了从AP热点连接到路由器切换的全流程,并总结了SPIFFS操作、WebSocket通信等核心优化点。该方案无需专用APP,适合物联网设备快速部署场景

u011697185的专栏 960

relocation truncated to fit: R_X86_64_PC32错误排除

relocation truncated to fit: R_X86_64_PC32:当程序开辟内存空间大于2G时,编译时会出现 relocation truncated to fit: R_X86_64_PC32的错误信息,排除办法如下:在编译选项中加入 -mcmodel=medium如果是MPI程序,则安装MPICH时需添加c和fortran的相关编译选项如下:./config

xlsp的专栏 1万+

杂记 | 使用keycloak实现SSO单点登录(新手向,概念、原理、逻辑、详细步骤、难点解释)

使用keycloak实现SSO单点登录(概念、原理、逻辑、详细步骤、难点解释)

野生猿林仔的博客 2万+

relocation truncated to fit: R_X86_64_PC32 against symbolXXX

make之后,提示错误信息:/tmp/ccrMebgb.o: In function `ExecSetCmd':/home/redis/async_5.c:71:(.text+0x424): relocation truncated to fit: R_X86_64_PC32 against symbol `ac' defined in COMMON section in /tmp/ccrMebg...

Default 8040

【教程】BM1684X-32边缘计算盒子 网络配置教程

BM1684X边缘计算盒子网络配置教程

ShiMetaPi的博客 715

YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点

本文给大家带来的改进机制是BiFPN双向特征金字塔网络,其是一种特征融合层的结构,也就是我们本文改进YOLOv11模型中的Neck部分,它的主要思想是通过多层级的特征金字塔和双向信息传递来提高精度。本文给大家带来的结构可以让大家自行调节网络结构大小,同时能够达到一定的轻量化效果,为什么发BiFPN呢因为它算是YOLO系列改进中的常青树了,大家可以借鉴它的双向特征思想来创新自己的Neck结构本文的BiFPN通过yaml文件配置可以让大家自行调配其结构。

Snu77的博客 9104

运行C时报错:relocation truncated to fit: R_X86_64_PC32 against undefined symbol `WinMain‘ collect2: error

写C时,遇到报错 [Running] cd "d:\考研\408\LeranC\Code\GramForC\" && gcc 01data_types.c -o 01data_types && "d:\考研\408\LeranC\Code\GramForC\"01data_types /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: /usr/lib/gcc/x86_64-pc-c

qq_45921491的博客 3032

基于STM32L4XX、HAL库的Ra-01SC-P LoRa模块驱动程序设计

0x22) { // SX1276/SX1278版本号。// 发射功率(2-20)// 工作频率(Hz)// 编码率(5-8)

zhusl6688的博客 425

SCF1d.c:(.text+0xee8): relocation truncated to fit: R_X86_64_PC32 against symbol `Fel' defined in CO

SCF1d.c:(.text+0xee8): relocation truncated to fit: R_X86_64_PC32 against symbol `Fel' defined in CO 在linux中编译程序,出现以上内存限制问题,编译不通过。       一些博文中说是内存超过2G会出现问题。需要添加编译选项:-mcmodel 调整编译时的对静态数组要求的大

zhangjingxueq的博客 3万+

bevformer详解(3): 逐行代码讲解

在这篇文章中,我们将从BEVFormer算法代码入手,深入探究BEV转换的流程。BEVFormer是一种基于Transformer的BEV转换模型,其核心思想是利用自注意力机制和交叉注意力机制,从,并通过Object Query与BEV特征的交互,完成3D目标检测和地图分割等任务。https://developer.baidu.com/article/details/3224715bevformer的网络结构由三部分组成, 模型结构所示,其中的是部分,对于的是的结构,对于部分,沿用的中的decoder部分,

@bangbang的博客 3701

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linking fails : relocation truncated to fit: R_X86_程序占用内存大于2GB所导致的问题

1   Problem(Abstract) This technote explains how to resolve a Purify engine: Error: The linker returned error code: 1 error, that can occur when using IBM Rational PurifyPlus. Symptom The f

crazyhacking的专栏 2988

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

dijikstra(先预处理)+dfs,relocation truncated to fit

原来是dist[][]存的是站点到站点,站点编号可不止10。在这个样例出现SegmentationFault。只能存必访站点的编号(0~5)才合理且不超内存。本来想搞个dist【N】[N]全局变量(数组)开大了。

qq_51070956的博客 911

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

linux fortran 大数组,关于fortran处理大数组出现错误

本帖最后由 我是一头牛 于 2015-1-15 00:56 编辑各位朋友, 我现在用如下的程序把一个含有1024*1280*100个数字的txt文档读入fortran并且赋值给数组a,在这个过程中编译和运行都没有问题。 但是当我读入另一个含有1024*1280*500个数据的txt文档的时候,编译出现了问题,无法运行。错误提示如下。请各位朋友帮忙看一下。谢谢。说明:我的电脑是64位的操作系统,内存...

weixin_39620099的博客 746

求高手帮看这个gamit安装失败的问题

home/star/GAMIT10.7/source/gamit/clean/csubs_gftn.c:87:(.text+0x238): 从输出所省略的额外重寻址溢出。make: *** [Makefile:50:cview] 错误 1。

m0_51733937的博客 456

深入理解ELF文件重定位机制与实战应用

ELF(Executable and Linkable Format)作为Unix-like系统的标准可执行文件格式,其重定位机制是链接过程中的核心环节。重定位本质上是一种地址修正技术,分为静态重定位(由静态链接器处理)和动态重定位(由动态链接器处理)两种类型。通过PLT(Procedure Linkage Table)和GOT(Global Offset Table)实现的高效动态链接,以及R_X86_64_PLT32等重定位类型的灵活运用,使得现代操作系统能够支持共享库和位置无关代码等关键特性。掌握重定

weixin_30340617的博客 623

Linux地址重定位:静态与动态机制详解

地址重定位是程序加载运行的核心机制,解决代码在内存中的定位问题。静态重定位在加载时一次性完成地址修正,具有执行效率高的特点;动态重定位则通过PLT/GOT机制实现运行时地址解析,支持共享库等高级特性。现代Linux系统结合ASLR安全机制,通过延迟绑定等技术优化性能。理解重定位原理对排查链接错误、优化程序性能至关重要,特别是在动态库开发和系统安全加固场景中。本文以ELF格式为例,深入解析静态/动态重定位的数据结构和Linux实现细节。

weixin_34101784的博客 382

MSP430寻址模式深度解析:从原理到嵌入式开发实战优化

寻址模式是计算机体系结构中的核心概念,它定义了处理器在执行指令时定位和访问操作数(数据)的具体方式。其原理在于通过不同的地址计算规则,如寄存器直接访问、基址加偏移、立即数嵌入等,高效地连接指令流与数据存储空间。理解寻址模式的技术价值在于,它是编写高效、紧凑底层代码的基础,直接影响程序的执行速度、代码大小及功耗,尤其在资源受限的嵌入式系统中至关重要。在嵌入式开发、微控制器编程及性能优化等应用场景中,熟练掌握寻址模式能帮助开发者深入理解编译器行为、精准调试内存错误并手动优化关键代码路径。本文以TI MSP430

benben 420

C++项目文件太大导致链接失败?手把手教你用‘-ffunction-sections’和lld优化GCC连接过程

本文详细解析了C++项目中因文件过大导致的`relocation truncated to fit`链接错误,并提供了使用GCC的`-ffunction-sections`选项和lld链接器优化连接过程的实用方案。通过分离函数段和启用垃圾回收,有效解决大型项目链接问题,提升构建效率和执行性能。

Faith, Simpleness, Transparency, Innovation 190

解决relocation truncated to fit 问题

解决relocation truncated to fit 问题

Contas的博客 3782

解决GCC连接器(lld)出现问题 relocation truncated to fit (重定向截断)

但是缺点肯定是有的,那就是效率肯定没有RVA相对地址(短地址)跳转速度块,因为绝对地址都是需要先放在寄存器之中的,在按照寄存器的值跳转,不能直接JMP到绝对地址上面的,相当于每次都要多走一些流程,并且在CPU之中相对寻址本来就比随机的绝对寻址要快的。这条会有限制,C++ 17 直接没法用了,而且 C++ 11 的一些模板展开特性也会受到限制,基本不是很推荐通过这条指令来解决,但如果真的必须要,无可避免、退无可退的情况下,您或许可以考虑设置它到连接器上面试试看,的确是有效的。3、配置连接器选项,增加选项。

liulilittle的博客 6185
上一篇: 查看CPU Cache大小
下一篇: strtok函数
zhuliting
博客等级 码龄18年 350粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值