如何导致 TLB 与用户进程发生冲突?
我目前的工作需要在Intel Core系列的CPU上生成指定数量的TLB未命中,但进展并不顺利。我尝试了很多方法,但它们的 TLB 命中率都很高。有谁知道有关 x8…
为什么在 64 位架构上对齐是 16 字节?
(gdb) disas foo Dump of assembler code for function foo: 0x00000000004004a8 : push %rbp 0x00000000004004a9 : mov %rsp,%rbp 0x00000000004004a…
i386 与 AMD64 ABI 差异
在哪里可以找到 i386 和 i386 之间数据类型的所有差异。 AMD64 应用程序二进制接口 (ABI) ? 我知道 i386 ABI 中的 long 类型是 32 位的AMD64 中的 64…
在GHC中指定arch?
我正在编写一个多平台 ncurses 文本冒险游戏。所需的 C 库 ncursesw 已配置为 x86,但我的操作系统是 Mac OS X 10.6.6 x86_64。 ghc --make -o rogue …
尝试编译 The Powder Toy 时出现链接错误
*Pastebin 的完整日志:* http://pastebin.com/QJyzzxNA 每当我尝试编译 The Powder Toy,它给了我一个链接器错误,说该库与 x86_64 不兼容。我应该怎…
x86 程序集 Pushl/popl 不适用于“错误:后缀或操作数无效”
我是汇编编程的新手,正在使用 GNU 汇编器 v2.20.1 在 Ubuntu x86_64 桌面上进行编程基础 。 我已经能够汇编/链接执行我的代码,直到我开始使用 Pushl…
AMD64 在 i586 上运行还是反之亦然?
我有一个小型 C 程序,我希望将其从 Linux 移植到 Windows。我可以使用 MinGW 编译器来完成此操作,并且我注意到它有两个不同的前缀:amd64 和 i586。…
Linux:通过 ptrace() 执行系统调用
嘿 :) 我目前正在为 x86/x64 Linux 开发一个内存黑客库。 我挣扎的重点是实现某种远程系统调用执行。 这是我的代码,当我尝试执行有效的系统调用时…
C 中 x64 的 128 位算术
在 x86 上实现 bignum 时,显然数字大小最有效的选择是 32 位。但是,您需要进行最多两倍数字大小的算术运算(即 32+32=33、32*32=64、64/32=32)。幸…
我可以在 x86-64 中使用 gcc 为不同变量选择 RIP 相对或绝对寻址吗
我编写了自己的链接脚本,将不同的变量放入两个不同的数据部分(A 和 B)。 A链接到零地址; B 链接到代码附近,位于高地址空间(高于 4G,这对于 x86…
拦截64位Linux内核函数:32/64位函数指针的长度?
我正在尝试重新实现旧的巨兽内核拦截(描述于 此 Phrack 问题)。 替换32位函数调用的代码如下: #define SYSMAPADDR 0x12345678 #define CODESIZE 7 …
我的 python 构建二进制文件并未真正在 AMD Win2003r2x64 机器上作为 64 位程序运行
我的问题是 我的 python 二进制文件没有在我的 amd64(Opteron 8214, 4 cpu) 服务器上作为 64 位程序运行。 该机器是双核的,因此taskmgr中显示有8个核…
Visual Studio 2008、Windows 7、GAC 的问题
自周一以来,这个问题一直让我做噩梦。 一切都很顺利,直到我收到了新的 Windows 7 64 位电脑。 由于我们的应用程序基本上运行在32位机器上。我将所有…
是否可以通过模式切换在64位进程中执行32位代码?
在此页面中,http://www.x86-64.org /pipermail/discuss/2004-8月/005020.html 他说有一种方法可以在应用程序中混合 32 位代码和 64 位代码。他假设应…
在 AMD64 上使用 -m32 -mtune=native 进行编译
在 AMD64 机器上使用 -m32 和 -mtune=native 进行编译将使用 32 位指针,从而使用稍小的数据结构,从而获得更密集的缓存包装,这是正确的评估吗?我的…