tcc version 0.9.26 (i386 Linux) Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard Usage: tcc [options...] [-o outfile] [-c] infile(s)... tcc [options...] -run infile [arguments...] ... instead of the tcc version 0.9.26 - Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard Usage: tcc [options...] [-o outfile] [-c] infile(s)... tcc [options...] -run infile [arguments...] ... Displaing a "Hard Float" info for the ARM arch is restored. It was broken by the AArm64 patch.
Unified · Split
| @@ -24,9 +24,68 @@ · 23 unmodified lines | |||
| 24 | #include "tcc.h" | 24 | #include "tcc.h" |
| 25 | #endif | 25 | #endif |
| 26 | 26 | ||
| 27 | static void help(void) | 27 | static void print_paths(const char *msg, char **paths, int nb_paths) |
| 28 | { | ||
| 29 | int i; | ||
| 30 | printf("%s:\n%s", msg, nb_paths ? "" : " -\n"); | ||
| 31 | for(i = 0; i < nb_paths; i++) | ||
| 32 | printf(" %s\n", paths[i]); | ||
| 33 | } | ||
| 34 | |||
| 35 | static void display_info(TCCState *s, int what) | ||
| 36 | { | ||
| 37 | switch (what) { | ||
| 38 | case 0: | ||
| 39 | printf("tcc version %s (" | ||
| 40 | #ifdef TCC_TARGET_I386 | ||
| 41 | "i386" | ||
| 42 | # ifdef TCC_TARGET_PE | ||
| 43 | " Win32" | ||
| 44 | # endif | ||
| 45 | #elif defined TCC_TARGET_X86_64 | ||
| 46 | "x86-64" | ||
| 47 | # ifdef TCC_TARGET_PE | ||
| 48 | " Win64" | ||
| 49 | # endif | ||
| 50 | #elif defined TCC_TARGET_ARM | ||
| 51 | "ARM" | ||
| 52 | # ifdef TCC_ARM_HARDFLOAT | ||
| 53 | " Hard Float" | ||
| 54 | # endif | ||
| 55 | # ifdef TCC_TARGET_PE | ||
| 56 | " WinCE" | ||
| 57 | # endif | ||
| 58 | #elif defined TCC_TARGET_ARM64 | ||
| 59 | "AArch64" | ||
| 60 | # ifdef TCC_ARM_HARDFLOAT | ||
| 61 | " Hard Float" | ||
| 62 | # endif | ||
| 63 | # ifdef TCC_TARGET_PE | ||
| 64 | " WinCE" | ||
| 65 | # endif | ||
| 66 | #endif | ||
| 67 | #ifndef TCC_TARGET_PE | ||
| 68 | # ifdef __linux | ||
| 69 | " Linux" | ||
| 70 | # endif | ||
| 71 | #endif | ||
| 72 | ")\n", TCC_VERSION); | ||
| 73 | break; | ||
| 74 | case 1: | ||
| 75 | printf("install: %s/\n", s->tcc_lib_path); | ||
| 76 | /* print_paths("programs", NULL, 0); */ | ||
| 77 | print_paths("crt", s->crt_paths, s->nb_crt_paths); | ||
| 78 | print_paths("libraries", s->library_paths, s->nb_library_paths); | ||
| 79 | print_paths("include", s->sysinclude_paths, s->nb_sysinclude_paths); | ||
| 80 | printf("elfinterp:\n %s\n", DEFAULT_ELFINTERP(s)); | ||
| 81 | break; | ||
| 82 | } | ||
| 83 | } | ||
| 84 | |||
| 85 | static void help(TCCState *s) | ||
| 28 | { | 86 | { |
| 29 | printf("tcc version " TCC_VERSION " - Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard\n" | 87 | display_info(s, 0); |
| 88 | printf("Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard\n" | ||
| 30 | "Usage: tcc [options...] [-o outfile] [-c] infile(s)...\n" | 89 | "Usage: tcc [options...] [-o outfile] [-c] infile(s)...\n" |
| 31 | " tcc [options...] -run infile [arguments...]\n" | 90 | " tcc [options...] -run infile [arguments...]\n" |
| 32 | "General options:\n" | 91 | "General options:\n" |
| @@ -181,58 +240,6 @@ static char *default_outputfile(TCCState *s, const char *first_file) · 148 unmodified lines | |||
| 181 | return tcc_strdup(buf); | 240 | return tcc_strdup(buf); |
| 182 | } | 241 | } |
| 183 | 242 | ||
| 184 | static void print_paths(const char *msg, char **paths, int nb_paths) | ||
| 185 | { | ||
| 186 | int i; | ||
| 187 | printf("%s:\n%s", msg, nb_paths ? "" : " -\n"); | ||
| 188 | for(i = 0; i < nb_paths; i++) | ||
| 189 | printf(" %s\n", paths[i]); | ||
| 190 | } | ||
| 191 | |||
| 192 | static void display_info(TCCState *s, int what) | ||
| 193 | { | ||
| 194 | switch (what) { | ||
| 195 | case 0: | ||
| 196 | printf("tcc version %s (" | ||
| 197 | #ifdef TCC_TARGET_I386 | ||
| 198 | "i386" | ||
| 199 | # ifdef TCC_TARGET_PE | ||
| 200 | " Win32" | ||
| 201 | # endif | ||
| 202 | #elif defined TCC_TARGET_X86_64 | ||
| 203 | "x86-64" | ||
| 204 | # ifdef TCC_TARGET_PE | ||
| 205 | " Win64" | ||
| 206 | # endif | ||
| 207 | #elif defined TCC_TARGET_ARM | ||
| 208 | "ARM" | ||
| 209 | #elif defined TCC_TARGET_ARM64 | ||
| 210 | "AArch64" | ||
| 211 | # ifdef TCC_ARM_HARDFLOAT | ||
| 212 | " Hard Float" | ||
| 213 | # endif | ||
| 214 | # ifdef TCC_TARGET_PE | ||
| 215 | " WinCE" | ||
| 216 | # endif | ||
| 217 | #endif | ||
| 218 | #ifndef TCC_TARGET_PE | ||
| 219 | # ifdef __linux | ||
| 220 | " Linux" | ||
| 221 | # endif | ||
| 222 | #endif | ||
| 223 | ")\n", TCC_VERSION); | ||
| 224 | break; | ||
| 225 | case 1: | ||
| 226 | printf("install: %s/\n", s->tcc_lib_path); | ||
| 227 | /* print_paths("programs", NULL, 0); */ | ||
| 228 | print_paths("crt", s->crt_paths, s->nb_crt_paths); | ||
| 229 | print_paths("libraries", s->library_paths, s->nb_library_paths); | ||
| 230 | print_paths("include", s->sysinclude_paths, s->nb_sysinclude_paths); | ||
| 231 | printf("elfinterp:\n %s\n", DEFAULT_ELFINTERP(s)); | ||
| 232 | break; | ||
| 233 | } | ||
| 234 | } | ||
| 235 | |||
| 236 | static int64_t getclock_us(void) | 243 | static int64_t getclock_us(void) |
| 237 | { | 244 | { |
| 238 | #ifdef _WIN32 | 245 | #ifdef _WIN32 |
| @@ -259,7 +266,7 @@ int main(int argc, char **argv) · 20 unmodified lines | |||
| 259 | tcc_set_environment(s); | 266 | tcc_set_environment(s); |
| 260 | 267 | ||
| 261 | if (optind == 0) { | 268 | if (optind == 0) { |
| 262 | help(); | 269 | help(s); |
| 263 | return 1; | 270 | return 1; |
| 264 | } | 271 | } |
| 265 | 272 | ||