执行命令:

 gcc -O2 stream.c

报错如下:

Dump relocate record:
stack top               relocation name         symbol
at /tmp/ccn99HNZ.o(.text+0x90):
...
0xffffffffffffffa0 R_LARCH_SOP_POP_32_S_10_16_S2        `<nameless>'at /tmp/ccn99HNZ.o(.text+0x94):
0x0000000080007414 R_LARCH_SOP_PUSH_PCREL       `.LC1' + 2048(0x800)
0x0000000000001194 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_POP_32_S_5_20    `<nameless>'at /tmp/ccn99HNZ.o(.text+0x98):
0x00000000000073e4 R_LARCH_SOP_PUSH_PCREL       `.LC1' + 4(0x4)
0x0000000000000994 R_LARCH_SOP_PUSH_PCREL       `.LC1' + 2052(0x804)
0x0000000000001194 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SL       `<nameless>'
0x0000000000001000 R_LARCH_SOP_SUB      `<nameless>'
0xfffffffffffff994 R_LARCH_SOP_POP_32_S_10_12   `<nameless>'at /tmp/ccn99HNZ.o(.text+0xe8):
0x0000000000000020 R_LARCH_SOP_PUSH_PCREL       `.L5'
0xffffffffffffffc8 R_LARCH_SOP_POP_32_S_10_16_S2        `<nameless>'at /tmp/ccn99HNZ.o(.text+0x120):
0x0000000000007404 R_LARCH_SOP_PUSH_PLT_PCREL   `gettimeofday@@GLIBC_2.27'
0xfffffffffffff760 R_LARCH_SOP_POP_32_S_0_10_10_16_S2   `<nameless>'at /tmp/ccn99HNZ.o(.text+0x12c):
0x0000740400000000 R_LARCH_SOP_PUSH_PCREL       `.LC0' + 2048(0x800)
0x00000000000010f4 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_POP_32_S_5_20    `<nameless>'at /tmp/ccn99HNZ.o(.text+0x130):
0x00000000000073e4 R_LARCH_SOP_PUSH_PCREL       `.LC0' + 4(0x4)
0x00000000000008f4 R_LARCH_SOP_PUSH_PCREL       `.LC0' + 2052(0x804)
0x00000000000010f4 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SL       `<nameless>'
0x0000000000001000 R_LARCH_SOP_SUB      `<nameless>'
0xfffffffffffff8f4 R_LARCH_SOP_POP_32_S_10_12   `<nameless>'at /tmp/ccn99HNZ.o(.text+0x150):
0x0000000000000020 R_LARCH_SOP_PUSH_PCREL       `.LC2' + 2048(0x800)
0x00000000000010e0 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_POP_32_S_5_20    `<nameless>'at /tmp/ccn99HNZ.o(.text+0x154):
0x0000000000000404 R_LARCH_SOP_PUSH_PCREL       `.LC2' + 4(0x4)
0x00000000000008e0 R_LARCH_SOP_PUSH_PCREL       `.LC2' + 2052(0x804)
0x00000000000010e0 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SL       `<nameless>'
0x0000000000001000 R_LARCH_SOP_SUB      `<nameless>'
0xfffffffffffff8e0 R_LARCH_SOP_POP_32_S_10_12   `<nameless>'at /tmp/ccn99HNZ.o(.text+0x160):
0x0000000000000000 R_LARCH_SOP_PUSH_PCREL       `.LC3' + 2048(0x800)
0x00000000000010d8 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_POP_32_S_5_20    `<nameless>'at /tmp/ccn99HNZ.o(.text+0x164):
0x0000000080007404 R_LARCH_SOP_PUSH_PCREL       `.LC3' + 4(0x4)
0x00000000000008d8 R_LARCH_SOP_PUSH_PCREL       `.LC3' + 2052(0x804)
0x00000000000010d8 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SL       `<nameless>'
0x0000000000001000 R_LARCH_SOP_SUB      `<nameless>'
0xfffffffffffff8d8 R_LARCH_SOP_POP_32_S_10_12   `<nameless>'at /tmp/ccn99HNZ.o(.text+0x198):
0x0000000000000018 R_LARCH_SOP_PUSH_PCREL       `.L14'
0xfffffffffffffff0 R_LARCH_SOP_POP_32_S_0_5_10_16_S2    `<nameless>'at /tmp/ccn99HNZ.o(.text+0x19c):
0x000000000000000c R_LARCH_SOP_PUSH_PCREL       `.LC4' + 2048(0x800)
0x00000000000010a4 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_POP_32_S_5_20    `<nameless>'at /tmp/ccn99HNZ.o(.text+0x1a0):
0x00000000000011f8 R_LARCH_SOP_PUSH_PCREL       `.LC4' + 4(0x4)
0x00000000000008a4 R_LARCH_SOP_PUSH_PCREL       `.LC4' + 2052(0x804)
0x00000000000010a4 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x0000000000000001 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SL       `<nameless>'
0x0000000000001000 R_LARCH_SOP_SUB      `<nameless>'
0xfffffffffffff8a4 R_LARCH_SOP_POP_32_S_10_12   `<nameless>'at /tmp/ccn99HNZ.o(.text+0x1b8):
0x0000080007414000 R_LARCH_SOP_PUSH_PCREL       `a' + 2048(0x800)
0x00000001017e71f0 R_LARCH_SOP_PUSH_ABSOLUTE    `<nameless>' + 12(0xc)
0x000000000000000c R_LARCH_SOP_SR       `<nameless>'
0x00000000001017e7 R_LARCH_SOP_POP_32_S_5_20    `<nameless>'-- Record dump end --/usr/bin/ld: /tmp/ccn99HNZ.o: in function `.L14':
(.text+0x1b8): relocation truncated to fit: R_LARCH_SOP_POP_32_S_5_20 against `<nameless>'
/usr/bin/ld: 最后的链结失败: symbol needs debug section which does not exist
collect2: error: ld returned 1 exit status

报错原因:

stream.c中定义了几个非常大的静态数组,导致访问超出界限,编译出错。

解决办法:

追加一个-mcmodel参数,例如:

 gcc -O2 stream.c -mcmodel=large

mcmodel可以取值:extreme large normal tiny tiny-static

具体取哪个看代码定义的数组的大小,详情见gcc手册。

在龙芯上使用如下命令后还会报错:

gcc -O2 stream.c -mcmodel=extreme

报错内容:

[root@localhost stream-5.9-1]# gcc -O2 stream.c -mcmodel=extreme
stream.c: In function ‘checktick’:
stream.c:317:5: sorry, unimplemented: loongarch cmodel extreme and tiny-static not support plt.}^
stream.c:317: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/cc4yuYoG.out file, please attach this to your bugreport.

可以再加入--no-plt解决:

gcc -O2 stream.c -mcmodel=extreme --no-plt

龙芯平台stream编译错误问题解决相关推荐

  1. uos20(龙芯平台)上编译及更换最新kernl 5.9及kernel 4.19

    OS: uos 20 龙芯版 下载龙芯或龙梦提供的4.19源码或从内核官网下载最新kernel(验证过5.9.13) 龙芯源码下载地址:http://ftp.loongnix.org/kernel/l ...

  2. 龙芯平台OsTools-Gmac更新

    龙芯平台OS下更新GMAC功能 文章目录 龙芯平台OS下更新GMAC功能 Gmac的flash烧录功能实现 使用说明 Mac地址的有效解析格式 Best Wish Gmac的flash烧录功能实现 G ...

  3. 龙芯平台上的容器和CI/CD实现方案

    http://www.loongson.cn/news/company/505.html 一:简介         Windocker是云宏公司基于龙芯平台开发的容器管理web平台.主要功能包括:系统 ...

  4. 【国产化系列】龙芯平台指令集简介及现有处理器的支持特性

    DATE: 2021.10.27 文章目录 1.转载参考 2.龙芯平台指令集简介 3.编译参数 4.查找热点函数进行代码优化 1.转载参考 龙芯平台指令集简介及现有处理器的支持特性 2.龙芯平台指令集 ...

  5. 在龙芯平台源码安装Qt5.15

    在龙芯平台源码安装Qt5.15 本来自带的是Qt9,但是因为想要编译某软件,要求Qt>11,龙芯的支持又比较少,所以就自行源码编译. 操作环境 依赖安装 由于是龙芯平台,虽然大多数依赖是能找到的 ...

  6. 龙芯平台python答案_使用 go-cqhttp 在龙芯和其他平台搭建qq机器人

    写在前面 企鹅干的所有事情大家都非常清楚,也没必要多说了. 当无产阶级不再思考资产阶级本身的合理性,而将反对的目标局限于某几个资本家的时候,说明资本主义已经成功了. CoolQ已经停止服务,所有疫情期 ...

  7. 龙芯平台python答案_在龙芯平台上自己编写原创应用——“动态壁纸”

    原标题:在龙芯平台上自己编写原创应用--"动态壁纸" 一.为何要在龙芯平台上编写"动态壁纸"? 龙芯3A3000桌面电脑的用户越来越多了,人们都想在龙芯电脑上有 ...

  8. 干货应用迁移|搜狗输入法在龙芯平台上的适配与应用

    技术引领创新,用"芯"构建生态,第一期龙芯生态论坛于2021年3月12日(周五)盛大开讲!龙芯生态论坛作为龙芯生态建设的重要技术交流窗口,将汇聚龙芯资深技术专家及行业生态伙伴精英, ...

  9. KEIL-MDK编译错误问题解决办法

    KEIL-MDK编译错误问题解决办法 Error: L6218E: Undefined symbol NVIC_PriorityGroupConfig (referred from main.o). ...

最新文章

  1. 也做SQL查询:班级总成绩 前三名,总成绩有相等的情况
  2. django 之 session
  3. 【Java】SpringBoot入门学习及基本使用
  4. 【转】python删除小记
  5. linux shell脚本写法,linux: 常用shell脚本写法
  6. 转:3d max 2013 安装教程,凭着一种互联网精神提供给广大朋友
  7. WordPress 多媒体库添加分类和标签支持
  8. java多个数据库_java – 我们可以有多个dataSources到单个数据库
  9. Hibernate 系列 02 - Hibernate介绍及其环境搭建
  10. HDU 4870 Rating(高斯消元 )
  11. ROS-cmakelists的解释
  12. Java 系列之spring学习--springmvc注解参数传递(六)
  13. GO GOPROXY代理设置
  14. Wampserver修改默认浏览器、默认编辑器的解决办法
  15. day3-转自金角大王
  16. mysql在触发器中调用存储过程_mysql 触发器中调用存储过程
  17. CSS手机端的主界面
  18. 美颜SDK的动态贴纸有哪些妙用?
  19. POI导出读取Excel表格讲解
  20. 系统校验矩阵怎么求_软考高级架构师:计算机系统基础知识

热门文章

  1. 小米8se android q,小米8 SE
  2. HTML画正方形钟表,html画圆形时钟
  3. https://github.com/espressif/esp8266_mp3_decoder
  4. ar面部识别_世界首款面部识别App通过智能手机识别 加入增强现实AR功能
  5. error LNK2001: unresolved external symbol
  6. 揭秘现阶段二手车市场交易的现状
  7. 安装驱动程序时计算机显示缺少.dll文件,安装 Windows 时出现 缺少计算机需要的媒体驱动程序 或 缺少必需的 CD/DVD 驱动器设备驱动程序 错误消息...
  8. 中国开源项目哪家强?看看阿里,百度,腾讯,360等都开...
  9. 游戏3D建模入行想要做到月薪8K,这些3D工具必不可少
  10. POJ2456(最大化最小值)解题报告