| [5c734c5] | 1 | Submitted By: William Harrington kb0iic at cross-lfs dot org 
 | 
|---|
 | 2 | Date: 2013-01-13
 | 
|---|
 | 3 | Initial Package Version: 1.3.17
 | 
|---|
 | 4 | Upstream Status: Unknown
 | 
|---|
 | 5 | Origin: Gentoo x86 sys-boot yaboot files
 | 
|---|
 | 6 | Description: Adds more stub functions for newer e2fsprogs.
 | 
|---|
 | 7 | 
 | 
|---|
 | 8 | diff -Naur yaboot-1.3.17.orig/lib/malloc.c yaboot-1.3.17/lib/malloc.c
 | 
|---|
 | 9 | --- yaboot-1.3.17.orig/lib/malloc.c     2011-10-18 04:11:10.000000000 +0000
 | 
|---|
 | 10 | +++ yaboot-1.3.17/lib/malloc.c  2013-01-13 13:32:27.392764935 +0000
 | 
|---|
 | 11 | @@ -64,6 +64,15 @@
 | 
|---|
 | 12 |      return caddr;
 | 
|---|
 | 13 |  }
 | 
|---|
 | 14 |  
 | 
|---|
 | 15 | +/* Calloc wrapper for malloc */
 | 
|---|
 | 16 | +void *memset(void *s, int c, size_t n);
 | 
|---|
 | 17 | +void *calloc(size_t nmemb, size_t size) {
 | 
|---|
 | 18 | +       void *caddr;
 | 
|---|
 | 19 | +       caddr = malloc(nmemb * size);
 | 
|---|
 | 20 | +       memset(caddr, 0, nmemb * size);
 | 
|---|
 | 21 | +       return caddr;
 | 
|---|
 | 22 | +}
 | 
|---|
 | 23 | +
 | 
|---|
 | 24 |  /* Do not fall back to the malloc above as posix_memalign is needed by
 | 
|---|
 | 25 |   * external libraries not yaboot */
 | 
|---|
 | 26 |  int posix_memalign(void **memptr, size_t alignment, size_t size)
 | 
|---|
 | 27 | diff -Naur yaboot-1.3.17.orig/lib/nonstd.c yaboot-1.3.17/lib/nonstd.c
 | 
|---|
 | 28 | --- yaboot-1.3.17.orig/lib/nonstd.c     2011-10-18 04:11:10.000000000 +0000
 | 
|---|
 | 29 | +++ yaboot-1.3.17/lib/nonstd.c  2013-01-13 13:32:27.396764906 +0000
 | 
|---|
 | 30 | @@ -65,3 +65,178 @@
 | 
|---|
 | 31 |  {
 | 
|---|
 | 32 |         return NULL;
 | 
|---|
 | 33 |  }
 | 
|---|
 | 34 | +
 | 
|---|
 | 35 | +// I tried to use prom functions for these...
 | 
|---|
 | 36 | +int open(const char *pathname, int flags) {
 | 
|---|
 | 37 | +       return (int) prom_open((char *)pathname);
 | 
|---|
 | 38 | +}
 | 
|---|
 | 39 | +
 | 
|---|
 | 40 | +int open64(const char *pathname, int flags) {
 | 
|---|
 | 41 | +       return (int) prom_open((char *)pathname);
 | 
|---|
 | 42 | +}
 | 
|---|
 | 43 | +
 | 
|---|
 | 44 | +int __open64_2 (__const char *__path, int __oflag) {
 | 
|---|
 | 45 | +       return (int) prom_open((char *)__path);
 | 
|---|
 | 46 | +}
 | 
|---|
 | 47 | +
 | 
|---|
 | 48 | +int read(int fd, void *buf, size_t count) {
 | 
|---|
 | 49 | +       return prom_read((void *)fd, buf, count);
 | 
|---|
 | 50 | +}
 | 
|---|
 | 51 | +
 | 
|---|
 | 52 | +int write(int fd, void *buf, size_t count) {
 | 
|---|
 | 53 | +       return prom_write((void *)fd, buf, count);
 | 
|---|
 | 54 | +}
 | 
|---|
 | 55 | +
 | 
|---|
 | 56 | +int close(int fd) {
 | 
|---|
 | 57 | +       prom_close((void *)fd);
 | 
|---|
 | 58 | +       return 0;
 | 
|---|
 | 59 | +}
 | 
|---|
 | 60 | +
 | 
|---|
 | 61 | +// No fsync, just assume we've sync'd
 | 
|---|
 | 62 | +int fsync(int fd) {
 | 
|---|
 | 63 | +       return 0;
 | 
|---|
 | 64 | +}
 | 
|---|
 | 65 | +
 | 
|---|
 | 66 | +void exit(int status) {
 | 
|---|
 | 67 | +       prom_exit();
 | 
|---|
 | 68 | +}
 | 
|---|
 | 69 | +
 | 
|---|
 | 70 | +int __printf_chk(int flag, const char *format, ...) {
 | 
|---|
 | 71 | +       va_list ap;
 | 
|---|
 | 72 | +       va_start (ap, format);
 | 
|---|
 | 73 | +       prom_vfprintf (prom_stdout, format, ap);
 | 
|---|
 | 74 | +       va_end (ap);
 | 
|---|
 | 75 | +
 | 
|---|
 | 76 | +       return 0;
 | 
|---|
 | 77 | +}
 | 
|---|
 | 78 | +
 | 
|---|
 | 79 | +int __sprintf_chk(char * str, int flag, size_t strlen, const char * format, ...) {
 | 
|---|
 | 80 | +       va_list ap;
 | 
|---|
 | 81 | +       va_start(ap, format);
 | 
|---|
 | 82 | +       // No sprintf? :(
 | 
|---|
 | 83 | +       va_end(ap);
 | 
|---|
 | 84 | +       return 0;
 | 
|---|
 | 85 | +
 | 
|---|
 | 86 | +}
 | 
|---|
 | 87 | +
 | 
|---|
 | 88 | +int __fprintf_chk(FILE *stream, int flag, const char *format, ...) {
 | 
|---|
 | 89 | +       va_list ap;
 | 
|---|
 | 90 | +       va_start (ap, format);
 | 
|---|
 | 91 | +       prom_vfprintf (prom_stdout, format, ap);
 | 
|---|
 | 92 | +       va_end (ap);
 | 
|---|
 | 93 | +
 | 
|---|
 | 94 | +       return 0;
 | 
|---|
 | 95 | +}
 | 
|---|
 | 96 | +
 | 
|---|
 | 97 | +void *memcpy(void *dest, const void *src, size_t n);
 | 
|---|
 | 98 | +void *__memcpy_chk(void *dest, const void *src, size_t n, size_t destlen) {
 | 
|---|
 | 99 | +       return memcpy(dest, src, n);
 | 
|---|
 | 100 | +}
 | 
|---|
 | 101 | +
 | 
|---|
 | 102 | +// But these are all dummy functions
 | 
|---|
 | 103 | +int __xstat64 (int __ver, const char *__filename, void *__stat_buf) {
 | 
|---|
 | 104 | +       return 0;
 | 
|---|
 | 105 | +}
 | 
|---|
 | 106 | +
 | 
|---|
 | 107 | +int stat64(const char *path, void *stat_buf) {
 | 
|---|
 | 108 | +       return 0;
 | 
|---|
 | 109 | +}
 | 
|---|
 | 110 | +
 | 
|---|
 | 111 | +int fstat64(int fildes, void *stat_buf) {
 | 
|---|
 | 112 | +       return 0;
 | 
|---|
 | 113 | +}
 | 
|---|
 | 114 | +
 | 
|---|
 | 115 | +int __fxstat64 (int __ver, int __filedesc, void *__stat_buf) {
 | 
|---|
 | 116 | +       return 0;
 | 
|---|
 | 117 | +}
 | 
|---|
 | 118 | +
 | 
|---|
 | 119 | +signed int random(void) {
 | 
|---|
 | 120 | +       return 0;
 | 
|---|
 | 121 | +}
 | 
|---|
 | 122 | +
 | 
|---|
 | 123 | +void srandom(unsigned int seed) {
 | 
|---|
 | 124 | +       return;
 | 
|---|
 | 125 | +}
 | 
|---|
 | 126 | +
 | 
|---|
 | 127 | +int rand(void) {
 | 
|---|
 | 128 | +       return 0;
 | 
|---|
 | 129 | +}
 | 
|---|
 | 130 | +
 | 
|---|
 | 131 | +void srand(unsigned int seed) {
 | 
|---|
 | 132 | +       return;
 | 
|---|
 | 133 | +}
 | 
|---|
 | 134 | +
 | 
|---|
 | 135 | +unsigned int sleep(unsigned int seconds) {
 | 
|---|
 | 136 | +       return 0;
 | 
|---|
 | 137 | +}
 | 
|---|
 | 138 | +
 | 
|---|
 | 139 | +int gettimeofday(void *tv, void *tz) {
 | 
|---|
 | 140 | +       return 0;
 | 
|---|
 | 141 | +}
 | 
|---|
 | 142 | +
 | 
|---|
 | 143 | +long sysconf(int name) {
 | 
|---|
 | 144 | +       return 0;
 | 
|---|
 | 145 | +}
 | 
|---|
 | 146 | +
 | 
|---|
 | 147 | +int getpagesize(void) {
 | 
|---|
 | 148 | +       return 0;
 | 
|---|
 | 149 | +}
 | 
|---|
 | 150 | +
 | 
|---|
 | 151 | +int gethostname(char *name, size_t len) {
 | 
|---|
 | 152 | +       return 0;
 | 
|---|
 | 153 | +}
 | 
|---|
 | 154 | +
 | 
|---|
 | 155 | +int getpid(void) {
 | 
|---|
 | 156 | +       return 0;
 | 
|---|
 | 157 | +}
 | 
|---|
 | 158 | +
 | 
|---|
 | 159 | +int getuid(void) {
 | 
|---|
 | 160 | +       return 0;
 | 
|---|
 | 161 | +}
 | 
|---|
 | 162 | +
 | 
|---|
 | 163 | +void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *)) {
 | 
|---|
 | 164 | +       return;
 | 
|---|
 | 165 | +}
 | 
|---|
 | 166 | +
 | 
|---|
 | 167 | +int * __errno_location(void) {
 | 
|---|
 | 168 | +       return 0;
 | 
|---|
 | 169 | +}
 | 
|---|
 | 170 | +
 | 
|---|
 | 171 | +int lseek(int fd, int offset, int whence) {
 | 
|---|
 | 172 | +       return prom_lseek ((void *)fd, whence + offset);
 | 
|---|
 | 173 | +}
 | 
|---|
 | 174 | +
 | 
|---|
 | 175 | +int lseek64(int fd, int offset, int whence) {
 | 
|---|
 | 176 | +       return prom_lseek ((void *)fd, whence + offset);
 | 
|---|
 | 177 | +}
 | 
|---|
 | 178 | +
 | 
|---|
 | 179 | +size_t fwrite(const void *ptr, size_t size, size_t nmemb, void *stream) {
 | 
|---|
 | 180 | +       return 0;
 | 
|---|
 | 181 | +}
 | 
|---|
 | 182 | +
 | 
|---|
 | 183 | +int ioctl(int d, int request, ...) {
 | 
|---|
 | 184 | +       return 0;
 | 
|---|
 | 185 | +}
 | 
|---|
 | 186 | +
 | 
|---|
 | 187 | +int fallocate(int fd, int mode, unsigned int offset, unsigned int len) {
 | 
|---|
 | 188 | +       return 0;
 | 
|---|
 | 189 | +}
 | 
|---|
 | 190 | +
 | 
|---|
 | 191 | +int uname(void *buf) {
 | 
|---|
 | 192 | +       return 0;
 | 
|---|
 | 193 | +}
 | 
|---|
 | 194 | +
 | 
|---|
 | 195 | +int setrlimit(int resource, void *rlim) {
 | 
|---|
 | 196 | +       return 0;
 | 
|---|
 | 197 | +}
 | 
|---|
 | 198 | +
 | 
|---|
 | 199 | +unsigned long long int strtoull(const char *nptr, char **endptr, int base) {
 | 
|---|
 | 200 | +       return 0;
 | 
|---|
 | 201 | +}
 | 
|---|
 | 202 | +
 | 
|---|
 | 203 | +int getrlimit(int resource, void *rlim) {
 | 
|---|
 | 204 | +       return 0;
 | 
|---|
 | 205 | +}
 | 
|---|
 | 206 | +
 | 
|---|
 | 207 | +int stderr = 0;
 | 
|---|
 | 208 | +int perror = 0;
 | 
|---|