From eec3de69755c68d26f58f1abeaa8b5886146728e Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Thu, 16 Jul 2009 13:02:16 +0000 Subject: [PATCH] Add enum for the linkage type code. --- lisp/os-common.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lisp/os-common.c b/lisp/os-common.c index 9739ce5b0..bf7db703c 100644 --- a/lisp/os-common.c +++ b/lisp/os-common.c @@ -1,6 +1,6 @@ /* - $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os-common.c,v 1.29 2009/07/16 12:55:02 rtoy Exp $ + $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os-common.c,v 1.30 2009/07/16 13:02:16 rtoy Rel $ This code was written as part of the CMU Common Lisp project at Carnegie Mellon University, and has been placed in the public domain. @@ -130,6 +130,12 @@ os_get_h_errno(void) #ifdef LINKAGE_TABLE +typedef enum { + LINKAGE_CODE_TYPE = 1, + LINKAGE_DATA_TYPE = 2 +} linkage_type_t; + + /* These declarations are lies. They actually take args, but are never called by C. Only by Lisp */ extern void resolve_linkage_tramp(void); @@ -192,7 +198,7 @@ os_foreign_linkage_init(void) #endif if (i == 0) { #if defined(sparc) - if (type != 1 || strcmp(c_symbol_name, "call_into_c")) { + if (type != LINKAGE_CODE_TYPE || strcmp(c_symbol_name, "call_into_c")) { fprintf(stderr, "linkage_data is %s but expected call_into_c\n", (char *) symbol_name->data); lose("First element of linkage_data is bogus.\n"); @@ -206,8 +212,8 @@ os_foreign_linkage_init(void) } arch_make_linkage_entry(i, &call_into_c, 1); #else - if (type != 1 || strcmp(c_symbol_name, - "resolve_linkage_tramp")) { + if (type != LINKAGE_CODE_TYPE || strcmp(c_symbol_name, + "resolve_linkage_tramp")) { fprintf(stderr, "linkage_data is %s but expected resolve_linkage_tramp\n", (char *) c_symbol_name); @@ -217,7 +223,7 @@ os_foreign_linkage_init(void) #endif continue; } - if (type == 2 && lib_list == NIL) { + if (type == LINKAGE_DATA_TYPE && lib_list == NIL) { void *target_addr = os_dlsym(c_symbol_name, NIL); if (!target_addr) { @@ -262,7 +268,7 @@ os_resolve_data_linkage(void) #else #define c_symbol_name ((char*) symbol_name->data) #endif - if (type == 2 && lib_list != NIL) { + if (type == LINKAGE_DATA_TYPE && lib_list != NIL) { void *target_addr = os_dlsym(c_symbol_name, lib_list); if (!target_addr) { @@ -316,7 +322,7 @@ os_link_one_symbol(long entry) data_vector->data[table_index + 2]); #if 0 fprintf(stderr, "Looked up %s symbol %s at %lx\n", - type == 1 ? "code" : "data", + type == LINKAGE_CODE_TYPE ? "code" : "data", c_symbol_name, (unsigned long) target_addr); #endif if (!target_addr) { -- GitLab