x86-64

XCode 6.1 Missing required architecture X86_64 in file for extern library

强颜欢笑 提交于 2019-12-10 05:10:39
问题 I have an issue when trying to use an external lib : I can't compile the project as it throws an exception as below. ld: warning: ignoring file /Users/renaudcousin/Documents/XCode/WORK/StimShopPOC/StimShopPOC/libStimshop_SDK.a, missing required architecture x86_64 in file /Users/renaudcousin/Documents/XCode/WORK/StimShopPOC/StimShopPOC/libStimshop_SDK.a (3 slices) Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_StimshopSDK", referenced from: objc-class-ref in ViewController.o ld:

Is it possible to run 16 bit code in an operating system that supports Intel IA-32e mode?

久未见 提交于 2019-12-10 03:34:14
问题 In the Intel 64 & IA-32 architecutures manual vol 3A, Chapter 9 Processor Management and Initialization, I found the the following: Compatibility mode execution is selected on a code-segment basis. This mode allows legacy applications to coexist with 64-bit applications running in 64-bit mode. An operating system running in IA-32e mode can execute existing 16-bit and 32-bit applications by clearing their code-segment descriptor's CS.L bit to 0. Does this mean that legacy 16-bit & 32-bit

32-bit pointers with the x86-64 ISA: why not?

試著忘記壹切 提交于 2019-12-10 02:59:01
问题 The x86-64 instruction set adds more registers and other improvements to help streamline executable code. However, in many applications the increased pointer size is a burden. The extra, unused bytes in every pointer clog up the cache and might even overflow RAM. GCC, for example, builds with the -m32 flag, and I assume this is the reason. It's possible to load a 32-bit value and treat it as a pointer. This doesn't necessitate extra instructions, just load/compute the 32 bits and load from

Mysql安装、配置、优化

一个人想着一个人 提交于 2019-12-09 16:52:56
Mysql安装、配置、优化 MySQL是一个关系型数据库管理系统,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 下载Mysql 1、通过网址https://dev.mysql.com/downloads/mysql/下载mysql 一、Mysql安装 普通安装及环境配置 使用yum进行mysql的安装 1、输入 yum list | grep mysql 命令 [root@iZbp19m6s0kz1ktg5okuauZ ~]# yum list | grep mysql 查看yum服务器上mysql数据库的可下载版本信息 [root@iZbp19m6s0kz1ktg5okuauZ ~]# yum list | grep mysql akonadi-mysql.x86_64 1.9.2-4.el7 base apr-util-mysql.x86_64 1.5.2-6.el7 base calligra-kexi-driver-mysql.x86_64 2.9.10-2.el7 epel collectd-mysql.x86_64 5.8.1-1.el7 epel dmlite-plugins-mysql.x86_64 1.13.2-2.el7 epel dovecot-mysql

How to convert 32-bit compiled binary to 64-bit [closed]

为君一笑 提交于 2019-12-09 15:32:20
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 2 years ago . Background: We have acquired a software product that builds to a 32-bit Windows application in Visual Studio. We wish to port this application to 64-bit. A mission-critical component of this code is a black-box static library (.a file) originally built using gFortran by a third

pop Instruction not supported in 64-bit mode using NASM?

流过昼夜 提交于 2019-12-09 14:42:07
问题 I'm working on a more indepth hello world using NASM following this tutorial (section 4). This tutorial essentially teaches you how to handle command line input. This is the snippet of the code in question: section .text global _start _start: pop ebx ; arg count pop ebx ; arg[0] the program name pop ebx ; arg[1-n] the remainder of the args ; must each be indiviually popped The code errors out during compilation with error: instruction not supported in 64-bit mode referring to the 3 pop

What does the “mov rax, QWORD PTR fs:0x28” assembly instruction do? [duplicate]

穿精又带淫゛_ 提交于 2019-12-09 14:28:53
问题 This question already has answers here : Why does this memory address %fs:0x28 ( fs[0x28] ) have a random value? (3 answers) Closed last year . Immediately before this instruction is executed fs contains 0x0. Also I'd like to know how I can read from this memory area in GDB, what would the command for that be? 回答1: The fs and gs registers in modern OSes like Linux and Windows point to thread-specific and other OS-defined structures. Modifying the segment register is a protected instruction,

Why does gcc force PIC for x64 shared libs?

99封情书 提交于 2019-12-09 09:10:49
问题 Trying to compile non-PIC code into a shared library on x64 with gcc results in an error, something like: /usr/bin/ld: /tmp/ccQ2ttcT.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC This question is about why this is so. I know that x64 has RIP-relative addressing which was designed to make PIC code more efficient. However, this doesn't mean load-time relocation can't be (in theory) applied to such code. Some online sources,

Why does loop alignment on 32 byte make code faster?

限于喜欢 提交于 2019-12-09 08:50:33
问题 Look at this code: one.cpp: bool test(int a, int b, int c, int d); int main() { volatile int va = 1; volatile int vb = 2; volatile int vc = 3; volatile int vd = 4; int a = va; int b = vb; int c = vc; int d = vd; int s = 0; __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); for (int i=0; i

How are interrupts handled on SMP?

情到浓时终转凉″ 提交于 2019-12-09 07:43:31
问题 How are interrupts handled on SMP (Symmeteric multiprocessor/multicore) machines? Is there only one memory management unit or more? Say two threads, A and B running on different cores touch a memory page (at the same time) which is not there in the page table, in which case there will be a page fault and a new page is brought in from the memory. What is the sequence of events which will happen? If there is one memory management unit, to which core is the page fault forwarded to? How does the