tlsnopic.s

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· S 代码 · 共 55 行

S
55
字号
	.section ".tdata", "awT", @progbits	.globl baz	.hidden baz	.globl var	.hidden var2bar:	.long 27baz:	.long 29var:	.long 31var2:	.long 33	.text	.globl	fn	.type	fn,@functionfn:	/* Main binary, no PIC.  */1:	movl	1b, %edx	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b], %edx	/* foo can be anywhere in startup TLS.  */	movl	%gs:0, %eax	subl	foo@GOTTPOFF(%edx), %eax	/* %eax now contains &foo.  */	/* bar only in the main program.  */	movl	%gs:0, %eax	subl	$bar@TPOFF, %eax	/* %eax now contains &bar.  */	/* baz only in the main program.  */	movl	%gs:0, %ecx	/* Arbitrary instructions in between.  */	nop	subl	$baz@TPOFF, %ecx	/* %ecx now contains &baz.  */	/* var and var2 only in the main program.  */	movl	%gs:0, %ecx	/* Arbitrary instructions in between.  */	nop	nop	leal	var@NTPOFF(%ecx), %eax	/* Arbitrary instructions in between.  */	nop	leal	var2@NTPOFF(%ecx), %edx	/* foo can be anywhere in startup TLS.  */	movl	foo@INDNTPOFF, %eax	movl	%gs:(%eax), %eax	/* %eax now contains foo.  */	movl	%gs:0, %eax	addl	foo@INDNTPOFF, %eax	/* %eax now contains &foo.  */	ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?