diff options
author | dfr <dfr@FreeBSD.org> | 2000-09-29 13:29:43 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2000-09-29 13:29:43 +0000 |
commit | 2a79e36f93e005251528d75f12687709b0830d14 (patch) | |
tree | aa8b8b74ed4565b706a23b5fa803bfd98e4c690b /usr.bin | |
parent | b6189aae3275e10c2872ce44741ccac24324fbc8 (diff) | |
download | FreeBSD-src-2a79e36f93e005251528d75f12687709b0830d14.zip FreeBSD-src-2a79e36f93e005251528d75f12687709b0830d14.tar.gz |
Add ia64 support and fix problems when cross-building when the host has
a different pointer size from the target.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/gensetdefs/gensetdefs.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/usr.bin/gensetdefs/gensetdefs.c b/usr.bin/gensetdefs/gensetdefs.c index e5d15a0..c6ce48f 100644 --- a/usr.bin/gensetdefs/gensetdefs.c +++ b/usr.bin/gensetdefs/gensetdefs.c @@ -30,7 +30,7 @@ #if defined(arch_i386) #define __ELF_WORD_SIZE 32 #include <sys/elf32.h> -#elif defined(arch_alpha) || defined(arch_sparc64) +#elif defined(arch_alpha) || defined(arch_sparc64) || defined(arch_ia64) #define __ELF_WORD_SIZE 64 #include <sys/elf64.h> #endif @@ -81,12 +81,24 @@ main(int argc, char **argv) hashent *list; FILE *fp; char *ptrop; - int align; + int align, ptrsize; for (i = 1; i < argc; i++) if (enter_sets(argv[i]) == -1) status = EXIT_FAILURE; +#if defined(arch_i386) + ptrop = "long"; + ptrsize = 4; + align = 2; +#elif defined(arch_alpha) || defined(arch_ia64) + ptrop = "quad"; + ptrsize = 8; + align = 3; +#endif + if (!ptrop) + errx(1, "unknown architecture"); + fp = fopen("setdefs.h", "w"); if (!fp) err(1, "setdefs.h"); @@ -95,7 +107,7 @@ main(int argc, char **argv) hashent *next; fprintf(fp, "DEFINE_SET(%s, %lu);\n", list->name, - (unsigned long) (list->size / sizeof (void *))); + (unsigned long) (list->size / ptrsize)); next = list->next; free(list->name); free(list); @@ -103,16 +115,6 @@ main(int argc, char **argv) } fclose(fp); -#if defined(arch_i386) - ptrop = "long"; - align = 2; -#elif defined(arch_alpha) - ptrop = "quad"; - align = 3; -#endif - if (!ptrop) - errx(1, "unknown architecture"); - fp = fopen("setdef0.c", "w"); if (!fp) err(1, "setdef0.c"); |