arm交叉编译lmbench

一、下载lmbench

 

www.bitmover.com/lmbench 官网下载,http://www.bitmover.com/lmbench/lmbench3.tar.gz

我没有下载下来,找的别人的百度云下载

链接: https://pan.baidu.com/s/1tGo1clCqY-jQPN8G1eWSsg 提取码: f6jd

二、修改makefile

修改三个文件

2.1 修改scripts/os

在最后一行echo $OS前,增加

OS=arm-linux (增加行)

echo $OS

2.2 修改scripts/compiler

在最后一行echo $CC前,增加

CC=arm-linux-gnueabihf-gcc(增加行)

echo $CC

2.3 修改scripts/build

将LDLIBS=lm修改为LDLIBS="-static -lm"

三、编译

直接make,编译完成后在bin目录下生成stream可执行文件。

四、运行出错处理

stream在我们的环境中运行,直接会报Segmentation fault,无其他任何打印。

通过gdb发现无任何堆栈信息,只是报错:Starting program: /mnt/test/zhixin_stream/stream
During startup program terminated with signal SIGSEGV, Segmentation fault.

在网络上查也没有查到啥有用信息,最后通过查看stream.c的源码发现,STREAM_ARRAY_SIZE参数过大,导致申请的数组大小已经大于内存大小。

#ifndef STREAM_ARRAY_SIZE

#   define STREAM_ARRAY_SIZE 10000000

#endif

static STREAM_TYPE a[STREAM_ARRAY_SIZE + OFFSET],

系统起来以后的剩余内存只有128M,之前STREAM_ARRAY_SIZE大小为接近1G,,由此导致在程序加载的时候超过运行内存大小而出现段错误。修改STREAM_ARRAY_SIZE大小为原来的十分之一,问题解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/54397.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

体育赛事管理系统的设计与实现(源码+论文)_kaic

摘要 许多年以前,人们在对数据进行统计和记录时候,使用的是纸和笔,对于大量数据的记录很不方便,使用的人力物力也很庞大,到了现在,人们对纸和笔的依赖慢慢降低,在如今的互联网时代,…

web服务

静态网页与动态网页的区别 在网站设计中,静态网页是网站建设的基础,纯粹 HTML 格式的网页通常被称为“静态网页”,静态网页是标准的 HTML 文件,它的文件扩展名是 .htm、.html,可以包含文本、图像、声音、FLASH 动画、…

CentOS 搭建 Harbor 镜像仓库(图文详解)

本文目录 1. 下载 Harbor 安装包2. 解压3. 修改配置文件4. 安装 Harbor5. 修改 docker 配置6. docker 登录方式7. 访问 Harbor Web 界面8. 创建证书9. 生成证书10. 更新配置11. 网页登录 说明:在搭建 Harbor 镜像仓库之前,虚拟机要先安装 docker 和 dock…

微信小程序nodejs+vue+uniapp个人家庭理财系统--论文

随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化,网络化和电子化。网上管理,它将是直接管理家庭理财系统app的最新形式。本论文是以构建家庭理财系统app为目标,使用nodejs技术制作&…

django bootstrap html实现左右布局,带折叠按钮,左侧可折叠隐藏

一、实现的效果 在django项目中,需要使用bootstrap 实现一个左右分布的布局,左侧区域可以折叠隐藏起来,使得右侧的显示区域变大。(为了区分区域,左右加了配色,不好看的修改颜色即可) 点击折叠按钮,左侧区域隐藏,右侧区域铺满: 二、实现思路 1、使用col-md属性,让左…

android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用

android 如何分析应用的内存(十五)——Visual Studio Code 调试Android 应用 在上一篇文章介绍了jdb调试java应用 接下来介绍用UI界面调试java应用,达到同jdb一样的效果。 同样的UI界面有很多选择,如Eclipse,Android …

计算机视觉:替换万物Inpaint Anything

目录 1 Inpaint Anything介绍 1.1 为什么我们需要Inpaint Anything 1.2 Inpaint Anything工作原理 1.3 Inpaint Anything的功能是什么 1.4 Segment Anything模型(SAM) 1.5 Inpaint Anything 1.5.1 移除任何物体 1.5.2 填充任意内容 1.5.3 替换任…

Akuity Certified ArgoCD课程学习与认证

今天是「DevOps云学堂」与你共同进步的第 48天 第⑦期DevOps实战训练营 7月15日已开营 实践环境升级基于K8s和ArgoCD 本文主要分享,如何免费地参与由Akuity Academy提供的ArgoCD GitOps 培训课程并取得认证证书。 目前Akuity Academy只发布了Introduction to Contin…

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--功能实现[五]

文章目录 SSM--功能实现实现功能09-带条件查询分页显示列表需求分析/图解思路分析代码实现测试分页条件查询带条件分页查询显示效果 实现功能10-添加家居表单前端校验需求分析/图解思路分析代码实现完成测试测试页面效果 实现功能11-添加家居表单后端校验需求分析/图解思路分析…

怎么学习CSS相关技术知识? - 易智编译EaseEditing

学习CSS技术是前端开发中的重要一环,它用于控制网页的样式和布局,使网页更加美观和易于使用。以下是学习CSS技术的几个方面: 基本语法和选择器: 了解CSS的基本语法,学习如何使用选择器来选择HTML元素并应用样式。 样…

【云原生】Kubernetes中deployment是什么?

目录 Deployments 更新 Deployment 回滚 Deployment 缩放 Deployment Deployment 状态 清理策略 金丝雀部署 编写 Deployment 规约 Deployments 一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。 你负责描述 Deployment 中的 目标状态,而 De…

状态模式——对象状态及其转换

1、简介 1.1、概述 在软件系统中,有些对象也像水一样具有多种状态,这些状态在某些情况下能够相互转换,而且对象在不同的状态下也将具有不同的行为。为了更好地对这些具有多种状态的对象进行设计,可以使用一种被称为状态模式的设…