Mercurial > hg > index.cgi
comparison lwlink/lwlink.c @ 8:fdc11ef4115b
Switched lwlink to lw_cmdline from argp and also brought in lw_alloc and lw_string to replace util.c
author | lost@l-w.ca |
---|---|
date | Sat, 22 Jan 2011 09:58:24 -0700 |
parents | 2c24602be78f |
children | 127e5b1e01c0 |
comparison
equal
deleted
inserted
replaced
7:917b608b8c66 | 8:fdc11ef4115b |
---|---|
27 #include <errno.h> | 27 #include <errno.h> |
28 #include <stdio.h> | 28 #include <stdio.h> |
29 #include <stdlib.h> | 29 #include <stdlib.h> |
30 #include <string.h> | 30 #include <string.h> |
31 | 31 |
32 #include <lw_alloc.h> | |
33 #include <lw_string.h> | |
34 | |
32 #include "lwlink.h" | 35 #include "lwlink.h" |
33 #include "util.h" | |
34 | 36 |
35 int debug_level = 0; | 37 int debug_level = 0; |
36 int outformat = OUTPUT_DECB; | 38 int outformat = OUTPUT_DECB; |
37 char *outfile = NULL; | 39 char *outfile = NULL; |
38 char *scriptfile = NULL; | 40 char *scriptfile = NULL; |
49 char **scriptls = NULL; | 51 char **scriptls = NULL; |
50 | 52 |
51 void add_input_file(char *fn) | 53 void add_input_file(char *fn) |
52 { | 54 { |
53 inputfiles = lw_realloc(inputfiles, sizeof(fileinfo_t *) * (ninputfiles + 1)); | 55 inputfiles = lw_realloc(inputfiles, sizeof(fileinfo_t *) * (ninputfiles + 1)); |
54 inputfiles[ninputfiles] = lw_malloc(sizeof(fileinfo_t)); | 56 inputfiles[ninputfiles] = lw_alloc(sizeof(fileinfo_t)); |
55 memset(inputfiles[ninputfiles], 0, sizeof(fileinfo_t)); | 57 memset(inputfiles[ninputfiles], 0, sizeof(fileinfo_t)); |
56 inputfiles[ninputfiles] -> forced = 1; | 58 inputfiles[ninputfiles] -> forced = 1; |
57 inputfiles[ninputfiles++] -> filename = lw_strdup(fn); | 59 inputfiles[ninputfiles++] -> filename = lw_strdup(fn); |
58 } | 60 } |
59 | 61 |
60 void add_input_library(char *libname) | 62 void add_input_library(char *libname) |
61 { | 63 { |
62 inputfiles = lw_realloc(inputfiles, sizeof(fileinfo_t *) * (ninputfiles + 1)); | 64 inputfiles = lw_realloc(inputfiles, sizeof(fileinfo_t *) * (ninputfiles + 1)); |
63 inputfiles[ninputfiles] = lw_malloc(sizeof(fileinfo_t)); | 65 inputfiles[ninputfiles] = lw_alloc(sizeof(fileinfo_t)); |
64 memset(inputfiles[ninputfiles], 0, sizeof(fileinfo_t)); | 66 memset(inputfiles[ninputfiles], 0, sizeof(fileinfo_t)); |
65 inputfiles[ninputfiles] -> islib = 1; | 67 inputfiles[ninputfiles] -> islib = 1; |
66 inputfiles[ninputfiles] -> forced = 0; | 68 inputfiles[ninputfiles] -> forced = 0; |
67 inputfiles[ninputfiles++] -> filename = lw_strdup(libname); | 69 inputfiles[ninputfiles++] -> filename = lw_strdup(libname); |
68 } | 70 } |
93 l = base - sectspec; | 95 l = base - sectspec; |
94 *base = '\0'; | 96 *base = '\0'; |
95 } | 97 } |
96 baseaddr = baseaddr & 0xffff; | 98 baseaddr = baseaddr & 0xffff; |
97 | 99 |
98 t = lw_malloc(l + 25); | 100 t = lw_alloc(l + 25); |
99 sprintf(t, "section %s load %04X", sectspec, baseaddr); | 101 sprintf(t, "section %s load %04X", sectspec, baseaddr); |
100 if (base) | 102 if (base) |
101 *base = '='; | 103 *base = '='; |
102 | 104 |
103 scriptls = lw_realloc(scriptls, sizeof(char *) * (nscriptls + 1)); | 105 scriptls = lw_realloc(scriptls, sizeof(char *) * (nscriptls + 1)); |