This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] add .type and .size directives


Hi,

this patch adds .type and .size directives for generated assembler files. Ok to Apply?

Ken

newlib/ChangeLog:

2008-06-09  Ken Werner  <ken.werner@de.ibm.com>

	* libc/machine/spu/mk_syscalls: Provide .type and .size directives
	in generated assembler files.
	* libc/machine/spu/fprintf.S: Regenerate.
	* libc/machine/spu/fscanf.S: Regenerate.
	* libc/machine/spu/printf.S: Regenerate.
	* libc/machine/spu/scanf.S: Regenerate.
	* libc/machine/spu/snprintf.S: Regenerate.
	* libc/machine/spu/sprintf.S: Regenerate.
	* libc/machine/spu/sscanf.S: Regenerate.
	* libc/machine/spu/stack_reg_va.S (__stack_reg_va): Provide .type
	and .size directives.
	* libc/machine/spu/setjmp.S (setjmp): Likewise.
	(longjmp): Likewise.

Index: src/newlib/libc/machine/spu/fprintf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/fprintf.S
+++ src/newlib/libc/machine/spu/fprintf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	fprintf
+	.type	fprintf, @function
 fprintf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 2			/* number of fixed arguments */
@@ -53,3 +54,4 @@ fprintf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	fprintf, .-fprintf
Index: src/newlib/libc/machine/spu/fscanf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/fscanf.S
+++ src/newlib/libc/machine/spu/fscanf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	fscanf
+	.type	fscanf, @function
 fscanf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 2			/* number of fixed arguments */
@@ -53,3 +54,4 @@ fscanf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	fscanf, .-fscanf
Index: src/newlib/libc/machine/spu/mk_syscalls
===================================================================
--- src.orig/newlib/libc/machine/spu/mk_syscalls
+++ src/newlib/libc/machine/spu/mk_syscalls
@@ -69,6 +69,7 @@ while ($line = <DEFS>) {
 	print SOURCE "	.text\n";
 	print SOURCE "	.align	4\n";
 	print SOURCE "	GLOBL	", $name, "\n";
+	print SOURCE "	.type	", $name, ", \@function\n";
 	print SOURCE $name, ":\n";
 
 	print SOURCE "	stqd	\$0, 16(\$sp)		\/\* save caller address \*\/\n";
@@ -93,6 +94,8 @@ while ($line = <DEFS>) {
 	print SOURCE "	lqd	\$0, 16(\$sp)		\/\* load caller address \*\/\n";
 	print SOURCE "	bi      \$0			\/\* return to caller \*\/\n";
 
+	print SOURCE "	.size	", $name, ", .-", $name, "\n";
+
 	close(SOURCE);
 }
 
Index: src/newlib/libc/machine/spu/printf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/printf.S
+++ src/newlib/libc/machine/spu/printf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	printf
+	.type	printf, @function
 printf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 1			/* number of fixed arguments */
@@ -47,3 +48,4 @@ printf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	printf, .-printf
Index: src/newlib/libc/machine/spu/scanf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/scanf.S
+++ src/newlib/libc/machine/spu/scanf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	scanf
+	.type	scanf, @function
 scanf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 1			/* number of fixed arguments */
@@ -47,3 +48,4 @@ scanf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	scanf, .-scanf
Index: src/newlib/libc/machine/spu/setjmp.S
===================================================================
--- src.orig/newlib/libc/machine/spu/setjmp.S
+++ src/newlib/libc/machine/spu/setjmp.S
@@ -36,6 +36,7 @@ Author: Andreas Neukoetter (ti95neuk@de.
 	.text
 	.align	2
 	.global	setjmp
+	.type	setjmp, @function
 setjmp:
 	stqd	$80, 2*16($3)
 	stqd	$81, 3*16($3)
@@ -97,6 +98,7 @@ setjmp:
 
 setjmp_ret:
 	bi	$0
+	.size	setjmp, .-setjmp
 
 /*
 	int longjmp( jmp_buf env, int val );
@@ -104,6 +106,7 @@ setjmp_ret:
 	.text
 	.align	2
 	.global	longjmp
+	.type	longjmp, @function
 longjmp:
 	lr	$127, $1
 
@@ -176,4 +179,5 @@ longjmp:
 
 longjmp_ret:
 	bi	$0
+	.size	longjmp, .-longjmp
 
Index: src/newlib/libc/machine/spu/snprintf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/snprintf.S
+++ src/newlib/libc/machine/spu/snprintf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	snprintf
+	.type	snprintf, @function
 snprintf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 3			/* number of fixed arguments */
@@ -47,3 +48,4 @@ snprintf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	snprintf, .-snprintf
Index: src/newlib/libc/machine/spu/sprintf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/sprintf.S
+++ src/newlib/libc/machine/spu/sprintf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	sprintf
+	.type	sprintf, @function
 sprintf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 2			/* number of fixed arguments */
@@ -47,3 +48,4 @@ sprintf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	sprintf, .-sprintf
Index: src/newlib/libc/machine/spu/sscanf.S
===================================================================
--- src.orig/newlib/libc/machine/spu/sscanf.S
+++ src/newlib/libc/machine/spu/sscanf.S
@@ -33,6 +33,7 @@
 	.text
 	.align	4
 	GLOBL	sscanf
+	.type	sscanf, @function
 sscanf:
 	stqd	$0, 16($sp)		/* save caller address */
 	il	$2, 2			/* number of fixed arguments */
@@ -47,3 +48,4 @@ sscanf:
 	a	$sp, $sp, $2
 	lqd	$0, 16($sp)		/* load caller address */
 	bi      $0			/* return to caller */
+	.size	sscanf, .-sscanf
Index: src/newlib/libc/machine/spu/stack_reg_va.S
===================================================================
--- src.orig/newlib/libc/machine/spu/stack_reg_va.S
+++ src/newlib/libc/machine/spu/stack_reg_va.S
@@ -85,6 +85,7 @@
 
 	.text
 	.global __stack_reg_va
+	.type	__stack_reg_va, @function
 
 __stack_reg_va:
 
@@ -164,3 +165,6 @@ save_regs_2:	
 	ai	ptr, ptr, -16
 	brz	tmp, save_regs_1	/* if (tmp == 0) jump */
 	bi	link			/* finish to make va_list */
+
+	.size	__stack_reg_va, .-__stack_reg_va
+


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]