- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编译时出现如下错误
(.sram.text+0x1283): dangerous relocation: windowed longcall crosses 1GB boundary; return may fail: (UND+0xdeadcafe)
在其中一个函数中。
架构是 Xtensa,使用的工具链是为 Xtensa 构建的 GNU 工具链。此错误在 binutils 源代码中文件 elf32-xtensa.c 中的函数 elf_xtensa_do_reloc() 内。
请让我知道此错误的原因和任何可能的解决方案。
最佳答案
这是默认 Xtensa 窗口寄存器 ABI 的已知警告。引用 Xtensa ISA reference manual :
The window increment stored with the return address register in
a4
occupies the two most significant bits of the register, and therefore those bits must be filled in by the subroutine return. TheRETW
andRETW.N
instructions fill in these bits from the two most significant bits of their own address. This prevents register-window calls from being used to call a routine in a different 1GB region of the address space.
您有两种选择来解决此问题:
关于linker-errors - Xtensa --- 危险重定位 : windowed long call crosses 1GB boundary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049837/
我有以下代码行 #define SCB_VTOR SCB_VTOR_REG(SystemControl_BASE_PTR) #define SCB_VTOR_REG(base)
我已经用 C 语言编写了这个函数(函数应该接收一个 char*,分配必要的空间,并插入字符,给出一个指向指针后面字符索引的指针) void add_to_str(char *character, ch
我正在构建一个 ELF 二进制文件,它需要能够在运行时处理和反转其自身的重定位。 (显然,反转将发生在单独的缓冲区中,而不是原始代码页中。)这样做的目的是内存中的模块内容可以进行 HMAC 运算,并与
我花了很多时间来查找错误原因。下面是我的一段 C++ 程序,它使用 vector 来存储数据。我已经看到,当 vector 增加自身大小时,所有引用都会发生变化。因此,通过 back() 对象保存对
首先,对于我的代码中可能出现的废话,我深表歉意,我还只是个初学者。我正在尝试用 编译这段代码 #include #include #include //initial conditions //#de
基本上,我一直在图像上测试 ImageMapster 插件。但是,我希望每个区域标签的工具提示(或信息面板)彼此相邻。 > http://jsfiddle.net/jagmitg/eQCL6/ 目前,
我正在使用 Devtoolset-7在 CentOS 7 上构建了 Boost 1.65.1 w/它。但是当我链接我的应用程序时,我得到了以下信息: /opt/rh/devtoolset-7/root
我正在 Linux 下编写一个简单的用户空间 ELF 加载程序(为什么?为了“好玩”)。目前我的加载器非常简单,旨在仅加载包含位置无关代码的静态链接 ELF 文件。 通常,当一个程序被内核的 ELF
GWT 将生成一个 gwt-unitCache包含一些缓存文件的目录。经过几天的工作,该目录可能会产生超过 1GB 的缓存文件。我担心生成这些文件可能会损坏我的 SSD 硬盘。 我创建了一个 2GB
假设我正在使用一个 int a vector : vector a {1, 2, 34, 1222, 0}; 然后,我想像这样 push_back 一些数据: a.push_back (data);
我刚刚开始进行嵌入式 arm 开发,有一段代码真的让我很烦恼: /* Initialize the relocate segment */ pSrc = &_etext; pDest = &_srel
所以我有一个 block 在 iPhone 内置加速度计的帮助下移动,另一个 block 随机出现在屏幕上。我正在尝试使用 if 语句来确定移动 block 是否点击或触摸了固定目标 block ,如
我想弄清楚重定位是如何工作的,但我似乎无法理解它。 This document描述了在重定位 ELF 文件时可能遇到的不同类型。 我们以 R_ARM_ALU_SB_G0_NC (#70) 为例。 类型
我正在尝试通过 OS X 中的 __builtin_return_address() 获取返回地址: /* foo.c */ #include void foo() { printf("re
我正在寻找与 Gulp 一起使用的插件链,它提供: 源映射支持 少 缩小 串联 URL 替换( rebase )以解决重定位/连接 我目前有前四个,但我找不到现有插件的组合也能给我最后一个(URL r
我正在编写一些适用于 .o 文件的自定义 ELF 二进制后处理代码。部分处理包括对二进制数据执行重定位。输入文件由 GNU 汇编程序根据我自己的汇编代码生成。 看看 GNU 汇编程序生成的这些疯狂的重
所以我一直在编写 32 位代码,昨天我需要构建一个 dll,但我遇到了一些问题。反正我解决了here . 不幸的是,即使我认为一切正常,但当我将程序和 makefile 移动到其他运行 64 位的计算
在今天下午的华为全场景智慧生活新品发布会上,华为还发布了一款华为儿童手表 4X,在防水和定位性能方面进行了升级。 据介绍,华为儿童手表 4X 采用机甲设计风格,一体化表带,防水升级到 50 米
我正在尝试编译的项目一点也不复杂,除了标准库和一个独立的库(一切都在另一个系统上编译正常)之外,什么都不引用。正如标题所示,它甚至不能链接到标准库中的某些东西,因为那里的东西应该没有用 -fPIC 编
我是一名优秀的程序员,十分优秀!