gnu

1b and 1f in GNU assembly

左心房为你撑大大i 提交于 2019-12-04 10:48:29
问题 I am analyzing a linux exception code. By the way I can't understand gnu assembly syntax. svc_preempt: mov r8, lr 1: bl preempt_schedule_irq @ irq en/disable is done inside ldr r0, [tsk, #TI_FLAGS] @ get new tasks TI_FLAGS tst r0, #_TIF_NEED_RESCHED moveq pc, r8 @ go again b 1b In this code, I can see "b 1b", but I can't find "1b" label anywhere. And, #ifdef CONFIG_NEON adr r6, .LCneon_thumb_opcodes b 2f #endif call_fpe: #ifdef CONFIG_NEON adr r6, .LCneon_arm_opcodes 2: ldr r7, [r6], #4 @

Compiling ARM .s file on Mac

ぃ、小莉子 提交于 2019-12-04 09:53:08
I am on Mac Os X and I am having trouble compiling a .s ARM assembly file. my .s file is this: mov r0, r1 just to see if it works. but when i do arm-elf-as my.s i get an a.out file. i do chmod +x a.out and ./a.out but it says cannot execute binary file this has me confused, because it should be able to execute if i compiled it with arm-elf-as. How do i go about compiling this .s? You're assembling it allright, you just can't run it on a Mac since Macs don't have ARM CPUs. If you install Xcode with iOS support, you can compile ARM code: # the file $ cat foo.s mov r0, r1 # compile with llvm-gcc

What's the differrence among cflgs sse options of -msse, -msse2, -mssse3, -msse4 rtc..? and how to determine?

六眼飞鱼酱① 提交于 2019-12-04 09:18:12
问题 For the GCC CFLAGS options: -msse , -msse2 , -mssse3 , -msse4 , -msse4.1 , -msse4.2 . Are they exclusive in their use or can the be used together? My understanding is that the choosing which to set depends on whether the target arch, which the program will run on, supports it or not, is this correct? If so, how could I know what sse my target arch supports? In Linux, I cat /proc/cpuinfo, but what if mac or Windows? Thanks! 回答1: The -m switched can be used in parallel, furthermore some of them

在Linux下编译安装Apache2(3)

霸气de小男生 提交于 2019-12-04 07:58:03
APR(Apache Portable Run-time Libraries)主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库,其对于Tomcat最大的作用就是socket调度。例如,在慢速网络上(模拟Internet)将Tomcat线程数开到300以上,然后模拟大量的并发请求时没有APR,基本上300个线程很快就会用满,以后的请求就只好等待,在安装APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,这样新的请求会毫无阻塞的进来。 在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目,这样APR的开发就从Apache中独立出来,Apache仅仅是使用APR而已。 虽然在局域网进行本地测试时,高并发的情况也可以被很容易的处理,但是在真实的Internet环境下,页面处理时间只占0.1\%都不到,绝大部分时间都用来页面传输。如果不用APR,一个线程同一时间只能处理一个用户,势必会造成阻塞,所以生产环境下使用APR是非常必要的。 一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr

在Linux下编译安装Apache2(1)

橙三吉。 提交于 2019-12-04 07:57:47
\subsection{Compile} 下载源代码(httpd-2.4.16) \begin{lstlisting}[language=bash] $ cd ~ $ mkdir src $ cd src $ wget http://mirrors.aliyun.com/apache/httpd/httpd-2.4.16.tar.gz --2015-08-11 22:47:46-- http://mirrors.aliyun.com/apache/httpd/httpd-2.4.16.tar.gz Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 115.28.122.210, 112.124.140.210 Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|115.28.122.210|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 6899517 (6.6M) [application/octet-stream] Saving to: ‘httpd-2.4.16.tar.gz’ httpd-2.4.16.tar.gz 100%[================>] 6

How to display line numbers in less (GNU)?

夙愿已清 提交于 2019-12-04 07:18:57
问题 Does somebody know the command to make less display line numbers in the left column? 回答1: From the manual: -N or --LINE-NUMBERS Causes a line number to be displayed at the beginning of each line in the display. You can also toggle line numbers without quitting less by typing -N . It is possible to toggle any of less's command line options in this way. 回答2: You can also press = while less is open to just display (at the bottom of the screen) information about the current screen, including line

GNU GCC compilor error “multiple definition of main”

纵饮孤独 提交于 2019-12-04 05:01:54
问题 I am new to ubuntu, now I need to develop my assignment in C++. I am using codeblocks IDE to write c++ programs. Whenever I compile something in it, it gives these errors: multiple definition of main warning: control reaches end of non-void function Here is the code I want to compile for now: #include <iostream> #include <stdlib.h> using namespace std; /* The Node class */ class Node { public: int get() { return object; }; void set(int object) { this->object = object; }; Node * getNext() {

《Linux就该这么学》课堂笔记00

我是研究僧i 提交于 2019-12-04 04:55:39
此书作者刘遄(Liu Chuán)从事于Linux运维技术行业,并且在2012年获得红帽工程师 RHCE 6版本证书,在2015年初又分别获得红帽工程师 RHCE 7版本证书与红帽架构师认证RHCA顶级证书。 学习是件苦差事:     稻盛和夫先生在《活法》中有段一直激励着我的话,现在转送给正在阅读本书的你: “工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时的快感,绝不能尝到从心底涌出的惊喜和快乐,但来自工作的喜悦并不像糖果那样—放进嘴里就甜味十足,而是需要从苦劳与艰辛中渗出,因此当我们聚精会神,孜孜不倦,克服艰辛后的成就感,世上没有哪种喜悦可以类比”。 “更何况人类生活中工作占据了较大的比重,如果不能从劳动中、工作中获得充实感,那么即使从别的地方找到快乐,最终我们仍然会感到空虚和缺憾”。 开源共享精神:开源产品不仅具有低风险、品质好、低成本及更透明的四大优势,以及复制自由、使用自由、收费自由、修改自由、创建衍生品自由五大自由。 Linux发展史:   早在20世纪70年代,UNIX系统是开源而且免费的。但是在1979年时,AT&T公司宣布了对UNIX系统的商业化计划,随之开源软件业转变成了版权式软件产业,源代码被当作商业机密,成为专利产品,人们再也不能自由地享受科技成果。 于是在1984年,Richard Stallman面对于如此封闭的软件创作环境

Autotools cross compilation and generated sources

三世轮回 提交于 2019-12-04 04:48:49
问题 I'm trying to create a library using autotools (autoconf, automake, libtool) as a build system. The library has to be cross-compileable, but one of the steps of building it is to generate sources by executable built from sources during the whole process. The problem is I cannot use automake's system to build the intermediate binary because when it's cross compile it wouldn't run on '--build' to generate sources. One way to work this around it to create separate autools project to build

Where is libintl3 and libiconv2 for gnu make on windows, needed to compile vim with ruby on MinGW

三世轮回 提交于 2019-12-04 02:44:31
I am trying to run gnu make for windows, but it wouldn't run because libint3.dll was not found. Sure enough, http://gnuwin32.sourceforge.net/packages/make.htm specifies that libint3 and libiconv2 are required, but trying to follow their link obviously generates an error on the server. So, do I need these libraries, and where would I get them, or can I download gnu make from somewhere else. more background Here's what I try to do, and maybe someone else can share a way how to do it differently altogether: I want to compilve vim with support for ruby 1.8.7 so that I can use the http://code