Changeset 350514c in mainline


Ignore:
Timestamp:
2006-01-15T17:37:14Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
12c6f2d
Parents:
ecfd7e5
Message:

some fancy stuff

Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • init/Makefile

    recfd7e5 r350514c  
    3838OUTPUT = init
    3939SOURCES = \
    40         init.c
     40        init.c \
     41        version.c
    4142
    4243OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
  • init/init.c

    recfd7e5 r350514c  
    2727 */
    2828
    29 #include <unistd.h>
    30 #include <stdio.h>
     29#include "version.h"
    3130
    3231int main(int argc, char *argv[])
    3332{
    34         puts("Hello world\n");
    35         while (1) ;
     33        version_print();
    3634        return 0;
    3735}
  • libc/generic/io.c

    recfd7e5 r350514c  
    3131#include <stdio.h>
    3232
     33static char nl = '\n';
     34
    3335int puts(const char * str)
    3436{
     
    3638       
    3739        for (count = 0; str[count] != 0; count++);
    38         if (write(1, (void * ) str, count) == count)
    39                 return 0;
    40         else
    41                 return EOF;
     40        if (write(1, (void * ) str, count) == count) {
     41                if (write(1, &nl, 1) == 1)
     42                        return 0;
     43        }
     44       
     45        return EOF;
    4246}
    4347
  • libc/generic/libc.c

    recfd7e5 r350514c  
    3030#include <unistd.h>
    3131
     32void _exit(int status) {
     33        __SYSCALL0(SYS_CTL);
     34}
     35
    3236void __main(void) {
    3337}
    3438
    3539void __exit(void) {
     40        _exit(0);
    3641}
  • libc/include/libc.h

    recfd7e5 r350514c  
    3333
    3434
     35#define __SYSCALL0(id) __syscall(id, 0, 0, 0)
     36#define __SYSCALL1(id, p1) __syscall(id, p1, 0, 0)
     37#define __SYSCALL2(id, p1, p2) __syscall(id, p1, p2, 0)
     38
     39
    3540typedef enum {
    3641        SYS_CTL = 0,
  • libc/include/unistd.h

    recfd7e5 r350514c  
    3535
    3636extern ssize_t write(int fd, const void * buf, size_t count);
     37extern void _exit(int status);
    3738
    3839#endif
Note: See TracChangeset for help on using the changeset viewer.