[patch] add .type and .size directives

Jeff Johnston jjohnstn@redhat.com
Tue Jun 17 17:35:00 GMT 2008


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.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
> +
>   



More information about the Newlib mailing list