blob: b3f6e38582450ede484d704fa58857e04a5d1f2e [file] [log] [blame]
# -*- perl -*-
#
# arch/ppc64/sysstub.ph
#
# Script to generate system call stubs
#
sub make_sysstub($$$$$@) {
my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
open(OUT, '>', "${outputdir}/${fname}.S");
print OUT <<EOF;
#include <asm/unistd.h>
.text
.balign 4
.globl ${fname}
#if _CALL_ELF == 2
.type ${fname},\@function
${fname}:
#else
.section ".opd","aw"
.balign 8
${fname}:
.quad .${fname}, .TOC.\@tocbase, 0
.previous
.type .${fname},\@function
.globl .${fname}
.${fname}:
#endif
li 0, __NR_${sname}
sc
bnslr
b __syscall_error
#if _CALL_ELF == 2
.size ${fname},.-${fname}
#else
.size ${fname},.-.${fname}
#endif
EOF
close(OUT);
}
1;