List Info

Thread: add .type and .size directives




add .type and .size directives
user name
2008-06-09 12:13:58
Hi,

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

Ken

newlib/ChangeLog:

2008-06-09  Ken Werner  <ken.wernerde.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 "	.textn";
 	print SOURCE "	.align	4n";
 	print SOURCE "	GLOBL	", $name, "n";
+	print SOURCE "	.type	", $name, ", functionn";
 	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 (ti95neukde.
 	.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
+

Re: add .type and .size directives
user name
2008-06-16 13:50:31
Patch checked in.

-- Jeff J.

Ken Werner wrote:
> Hi,
>
> this patch adds .type and .size directives for
generated assembler files. Ok to Apply?
>
> Ken
>
> newlib/ChangeLog:
>
> 2008-06-09  Ken Werner  <ken.wernerde.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 "	.textn";
>  	print SOURCE "	.align	4n";
>  	print SOURCE "	GLOBL	", $name,
"n";
> +	print SOURCE "	.type	", $name, ",
functionn";
>  	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 (ti95neukde.
>  	.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
> +
>   


[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )