草庐IT

intel-mic

全部标签

c++ - 使用 Intel Quark 的 Linux 共享库中的非法指令

我有一个linux“.a”库,它被编译用于x86。我没有这个库的源代码,程序员也不给我。我在具有这种架构的PC上运行我的程序没有问题,但是最近我买了一个带有IntelQuark处理器的嵌入式系统。该处理器具有精简的指令集,因此当我编译我的程序并尝试运行它时,我收到了一条明确的消息:“非法指令”。我知道这不是内存违规问题,因为当我使用GDB对其进行调试时,它在带有操作码(如CMOVE)的指令中完全失败,它属于PentiumPro处理器中引入的CMOVxx指令集。在我的嵌入式linux系统(Ubuntu14.04)/proc/cpuinfo"flags"字段中没有显示"cmov",所以这是

c++ - 使用 Intel Quark 的 Linux 共享库中的非法指令

我有一个linux“.a”库,它被编译用于x86。我没有这个库的源代码,程序员也不给我。我在具有这种架构的PC上运行我的程序没有问题,但是最近我买了一个带有IntelQuark处理器的嵌入式系统。该处理器具有精简的指令集,因此当我编译我的程序并尝试运行它时,我收到了一条明确的消息:“非法指令”。我知道这不是内存违规问题,因为当我使用GDB对其进行调试时,它在带有操作码(如CMOVE)的指令中完全失败,它属于PentiumPro处理器中引入的CMOVxx指令集。在我的嵌入式linux系统(Ubuntu14.04)/proc/cpuinfo"flags"字段中没有显示"cmov",所以这是

linux - 如何避免不适合缓冲区的标准输入被发送到 Linux 64 位 Intel (x86-64) 程序集中的 shell

编辑:标题已更改,因为@Gunner指出这不是缓冲区溢出。在Linux64位Intel汇编中使用NR_read从stdin读取用户输入时,我想知道如何避免不适合输入缓冲区的输入被发送到Linuxshell例如。庆典?例如,在这个示例程序中,我定义了一个255字节的输入缓冲区(缓冲区的大小可以是>=1)。超过255字节的输入的其余部分被发送到bash(如果从bash运行),这显然是一个严重的漏洞。在Linux64位程序集中应如何读取输入以避免此漏洞?这是我的代码:[bits64]section.textglobal_start;canbecompiledeg.withnasmoryasm

linux - 如何避免不适合缓冲区的标准输入被发送到 Linux 64 位 Intel (x86-64) 程序集中的 shell

编辑:标题已更改,因为@Gunner指出这不是缓冲区溢出。在Linux64位Intel汇编中使用NR_read从stdin读取用户输入时,我想知道如何避免不适合输入缓冲区的输入被发送到Linuxshell例如。庆典?例如,在这个示例程序中,我定义了一个255字节的输入缓冲区(缓冲区的大小可以是>=1)。超过255字节的输入的其余部分被发送到bash(如果从bash运行),这显然是一个严重的漏洞。在Linux64位程序集中应如何读取输入以避免此漏洞?这是我的代码:[bits64]section.textglobal_start;canbecompiledeg.withnasmoryasm

linux - 是否有适用于 Intel vPro 技术的 Linux cpu 标志?

Linux内核是否在/proc/cpuinfo中提供了一个CPU标志,表明处理器支持IntelvPro技术?具体来说,我想从操作系统内部判断物理硬件是否支持IntelAMT,然后它是否实际启用。(我知道我可以端口扫描TCP16992,但那太麻烦了!)我希望有类似vmx标志的东西,它记录了IntelVT,或rdrand标志,其中注明IntelDRNG. 最佳答案 否—vPro是芯片组和主板的特性,而不是CPU,因此它不会出现在/proc/cpuinfo中。(该文件主要表示CPUID返回的有关处理器的信息。)请记住,vPro和AMT不是

linux - 是否有适用于 Intel vPro 技术的 Linux cpu 标志?

Linux内核是否在/proc/cpuinfo中提供了一个CPU标志,表明处理器支持IntelvPro技术?具体来说,我想从操作系统内部判断物理硬件是否支持IntelAMT,然后它是否实际启用。(我知道我可以端口扫描TCP16992,但那太麻烦了!)我希望有类似vmx标志的东西,它记录了IntelVT,或rdrand标志,其中注明IntelDRNG. 最佳答案 否—vPro是芯片组和主板的特性,而不是CPU,因此它不会出现在/proc/cpuinfo中。(该文件主要表示CPUID返回的有关处理器的信息。)请记住,vPro和AMT不是

linux - 如何在 Linux 上编译 Intel Mac 二进制文件?

我正在阅读一篇关于cross-compilingforOSXonlinux的文章,但很难理解。我需要什么工具?需要哪些配置?是否也有创建包的工具? 最佳答案 首先你需要odcctools,其中包含汇编器和链接器等(类似于binutils,但能够处理Mach-O对象格式)。然后您需要官方SDK中的系统库。您可以从Apple下载它,但必须同意一些内容并成为成员(member)才能这样做。最后是好旧的gcc。理论上很容易,但实际上是一团糟。最简单的方法(据我所知)是使用I'mCross!.更新:我发现了一个更新更好的方法,叫做xchain

linux - 如何在 Linux 上编译 Intel Mac 二进制文件?

我正在阅读一篇关于cross-compilingforOSXonlinux的文章,但很难理解。我需要什么工具?需要哪些配置?是否也有创建包的工具? 最佳答案 首先你需要odcctools,其中包含汇编器和链接器等(类似于binutils,但能够处理Mach-O对象格式)。然后您需要官方SDK中的系统库。您可以从Apple下载它,但必须同意一些内容并成为成员(member)才能这样做。最后是好旧的gcc。理论上很容易,但实际上是一团糟。最简单的方法(据我所知)是使用I'mCross!.更新:我发现了一个更新更好的方法,叫做xchain

linux - 如何编写可以区分 Intel OS X 和 Linux 的 Makefile?

我如何将条件写入GNUmakeMakefile,它可以识别架构(在本例中为IntelOSX与Linux),以便我可以适本地设置标志,而不需要最终用户在运行make-f时指定Makefile?编辑我应该指定我从包含shell命令的ifeq语句中得到一个makefile错误,如果这个条件被放置在目标之外:'命令在第一个目标之前开始。停止。” 最佳答案 您应该能够检查其中一个uname变体的输出,然后使用makefile根据此选择不同的操作。运行manuname获取详细信息。就如何在GNUmake中使用它而言,您可以从shell函数中获取

linux - 如何编写可以区分 Intel OS X 和 Linux 的 Makefile?

我如何将条件写入GNUmakeMakefile,它可以识别架构(在本例中为IntelOSX与Linux),以便我可以适本地设置标志,而不需要最终用户在运行make-f时指定Makefile?编辑我应该指定我从包含shell命令的ifeq语句中得到一个makefile错误,如果这个条件被放置在目标之外:'命令在第一个目标之前开始。停止。” 最佳答案 您应该能够检查其中一个uname变体的输出,然后使用makefile根据此选择不同的操作。运行manuname获取详细信息。就如何在GNUmake中使用它而言,您可以从shell函数中获取