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]

Re: [patch] add .type and .size directives


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
+


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