diff options
author | Martin Baulig <martin@home-of-linux.org> | 1998-06-14 12:19:18 +0000 |
---|---|---|
committer | Martin Baulig <martin@src.gnome.org> | 1998-06-14 12:19:18 +0000 |
commit | 8f43551d687d72539802f5dabcf4a366da40b080 (patch) | |
tree | 6d17abd25721446b3c17d696f3794c1b62d4679b | |
parent | 23cccaf87f2a7d9cd9067de14285ee63b9826370 (diff) | |
download | libgtop-8f43551d687d72539802f5dabcf4a366da40b080.tar.gz |
New file - declaration of the table () function via _syscall3 (); due to a
1998-06-14 Martin Baulig <martin@home-of-linux.org>
* kernel.s: New file - declaration of the table () function
via _syscall3 (); due to a bug in egcs, we cannot put this
into a C file.
-rw-r--r-- | sysdeps/kernel/ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/kernel/Makefile.am | 8 | ||||
-rw-r--r-- | sysdeps/kernel/kernel.s | 42 |
3 files changed, 55 insertions, 1 deletions
diff --git a/sysdeps/kernel/ChangeLog b/sysdeps/kernel/ChangeLog index 51a5a6e8..75705a78 100644 --- a/sysdeps/kernel/ChangeLog +++ b/sysdeps/kernel/ChangeLog @@ -1,3 +1,9 @@ +1998-06-14 Martin Baulig <martin@home-of-linux.org> + + * kernel.s: New file - declaration of the table () function + via _syscall3 (); due to a bug in egcs, we cannot put this + into a C file. + 1998-06-13 Martin Baulig <martin@home-of-linux.org> The code in this directory fetches all information diff --git a/sysdeps/kernel/Makefile.am b/sysdeps/kernel/Makefile.am index 5c5cb132..d4e24965 100644 --- a/sysdeps/kernel/Makefile.am +++ b/sysdeps/kernel/Makefile.am @@ -8,10 +8,16 @@ CFLAGS = -Wall -W @CFLAGS@ lib_LTLIBRARIES = libgtop_sysdeps.la -libgtop_sysdeps_la_SOURCES = init.c open.c close.c cpu.c mem.c swap.c \ +libgtop_sysdeps_la_SOURCES = init.c open.c close.c kernel.s cpu.c mem.c swap.c \ uptime.c loadavg.c shm_limits.c msg_limits.c \ sem_limits.c proclist.c procstate.c procuid.c \ proctime.c procmem.c procsignal.c prockernel.c \ procsegment.c include_HEADERS = glibtop_server.h + +kernel.o kernel.lo: kernel.s + rm -f kernel.o kernel.lo + $(AS) -o kernel.o kernel.s + cp kernel.o kernel.lo + diff --git a/sysdeps/kernel/kernel.s b/sysdeps/kernel/kernel.s new file mode 100644 index 00000000..5f5383c8 --- /dev/null +++ b/sysdeps/kernel/kernel.s @@ -0,0 +1,42 @@ + .file "test.c" + .version "01.01" +/ GNU C version egcs-2.90.29 980515 (egcs-1.0.3 release) (i686-pc-linux-gnu) compiled by GNU C version egcs-2.90.29 980515 (egcs-1.0.3 release). +/ options passed: -O2 -Wall -W +/ options enabled: -fdefer-pop -fcse-follow-jumps -fcse-skip-blocks +/ -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole +/ -fforce-mem -ffunction-cse -finline -fkeep-static-consts -fcaller-saves +/ -fpcc-struct-return -frerun-cse-after-loop -frerun-loop-opt +/ -fschedule-insns2 -fcommon -fverbose-asm -fgnu-linker -fregmove +/ -falias-check -fargument-alias -m80387 -mhard-float -mno-soft-float +/ -mieee-fp -mfp-ret-in-387 -mschedule-prologue -mcpu=pentiumpro +/ -march=pentium + +gcc2_compiled.: +.text + .align 4 +.globl table + .type table,@function +table: + pushl %ebp + movl %esp,%ebp + movl $168,%eax + pushl %ebx + movl 8(%ebp),%ebx + movl 12(%ebp),%ecx + movl 16(%ebp),%edx +#APP + int $0x80 +#NO_APP + testl %eax,%eax + jge .L3 + negl %eax + movl %eax,errno + movl $-1,%eax +.L3: + movl -4(%ebp),%ebx + movl %ebp,%esp + popl %ebp + ret +.Lfe1: + .size table,.Lfe1-table + .ident "GCC: (GNU) egcs-2.90.29 980515 (egcs-1.0.3 release)" |