File:  [DVB] / dietlibc / i386 / sleep.S
Revision 1.3: download - view: text, annotated - select for diffs
Mon Feb 25 16:00:50 2002 UTC (22 years, 3 months ago) by olaf
Branches: MAIN
CVS tags: finnland_test_200301, branch_rc14_fieldtest_finnland, branch_rc13_fieldtest_finnland, branch_rc12_fieldtest_finnland, branch_rc10_fieldtest_finnland, RELEASE_finnland_200301_1, RC12_FIELDTEST_FINNLAND, RC10_FIELDTEST_FINNLAND, HEAD
Assembler and PIC code the source of all evel in the dynamic-section....
Added a helper for x86 and modified the assembler sources (now the
libdietc.so is NON textrel again....). S390 fixed a typo.
Fixed diet so dynamic binaries uses the "correct" dynamic-linker...

#include "PIC.h"

.text
.global sleep
.type   sleep,@function

sleep:
	movl    4(%esp),%eax            # Argument holen
	PIC_SAVE		# non-PIC: empty line
	PIC_INIT		# non-PIC: empty line
	pushl   $0                      # 0 ns
	pushl   %eax                    # 'x' µs warten
	movl    %esp,%eax
	pushl   %eax                    # zweimal ein Zeiger auf das Stackobjekt
	pushl   %eax                    # ptr  ptr  sec  nsec  return  arg
#ifdef __DYN_LIB
	call	nanosleep@PLT
#else
	call    nanosleep
#endif
	movl    20(%esp),%eax           # 'x' holen
	subl    8(%esp),%eax            # schon abgelaufende Zeit subtrahieren
	addl    $16,%esp
	PIC_RESTORE		# non-PIC: empty line
	ret

LinuxTV legacy CVS <linuxtv.org/cvs>