[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