From: Sam Ravnborg <sam@ravnborg.org>
To: lkml <linux-kernel@vger.kernel.org>
Cc: Sam Ravnborg <sam@mars.ravnborg.org>, Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH 41/46] kbuild: clean-up genksyms
Date: Tue, 21 Mar 2006 17:20:57 +0100 [thread overview]
Message-ID: <1142958057424-git-send-email-sam@ravnborg.org> (raw)
In-Reply-To: <11429580571837-git-send-email-sam@ravnborg.org>
o remove all inlines
o declare everything static which is only used by genksyms.c
o delete unused functions
o delete unused variables
o delete unused stuff in genksyms.h
o properly ident genksyms.h
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---
scripts/genksyms/genksyms.c | 80 ++++++++++++++-----------------------------
scripts/genksyms/genksyms.h | 57 +++++++++----------------------
2 files changed, 43 insertions(+), 94 deletions(-)
ce560686947fd50b30eaf42045554797f53949dd
diff --git a/scripts/genksyms/genksyms.c b/scripts/genksyms/genksyms.c
index b798e28..5b0344e 100644
--- a/scripts/genksyms/genksyms.c
+++ b/scripts/genksyms/genksyms.c
@@ -37,14 +37,14 @@
#define HASH_BUCKETS 4096
static struct symbol *symtab[HASH_BUCKETS];
-FILE *debugfile;
+static FILE *debugfile;
int cur_line = 1;
-char *cur_filename, *output_directory;
+char *cur_filename;
-int flag_debug, flag_dump_defs, flag_warnings;
-const char *arch = "";
-const char *mod_prefix = "";
+static int flag_debug, flag_dump_defs, flag_warnings;
+static const char *arch = "";
+static const char *mod_prefix = "";
static int errors;
static int nsyms;
@@ -55,6 +55,9 @@ static const char *const symbol_type_nam
"normal", "typedef", "enum", "struct", "union"
};
+static int equal_list(struct string_list *a, struct string_list *b);
+static void print_list(FILE * f, struct string_list *list);
+
/*----------------------------------------------------------------------*/
static const unsigned int crctab32[] = {
@@ -112,27 +115,26 @@ static const unsigned int crctab32[] = {
0x2d02ef8dU
};
-static inline unsigned long
-partial_crc32_one(unsigned char c, unsigned long crc)
+static unsigned long partial_crc32_one(unsigned char c, unsigned long crc)
{
return crctab32[(crc ^ c) & 0xff] ^ (crc >> 8);
}
-static inline unsigned long partial_crc32(const char *s, unsigned long crc)
+static unsigned long partial_crc32(const char *s, unsigned long crc)
{
while (*s)
crc = partial_crc32_one(*s++, crc);
return crc;
}
-static inline unsigned long crc32(const char *s)
+static unsigned long crc32(const char *s)
{
return partial_crc32(s, 0xffffffff) ^ 0xffffffff;
}
/*----------------------------------------------------------------------*/
-static inline enum symbol_type map_to_ns(enum symbol_type t)
+static enum symbol_type map_to_ns(enum symbol_type t)
{
if (t == SYM_TYPEDEF)
t = SYM_NORMAL;
@@ -147,8 +149,8 @@ struct symbol *find_symbol(const char *n
struct symbol *sym;
for (sym = symtab[h]; sym; sym = sym->hash_next)
- if (map_to_ns(sym->type) == map_to_ns(ns)
- && strcmp(name, sym->name) == 0)
+ if (map_to_ns(sym->type) == map_to_ns(ns) &&
+ strcmp(name, sym->name) == 0)
break;
return sym;
@@ -160,13 +162,14 @@ struct symbol *add_symbol(const char *na
unsigned long h = crc32(name) % HASH_BUCKETS;
struct symbol *sym;
- for (sym = symtab[h]; sym; sym = sym->hash_next)
+ for (sym = symtab[h]; sym; sym = sym->hash_next) {
if (map_to_ns(sym->type) == map_to_ns(type)
&& strcmp(name, sym->name) == 0) {
if (!equal_list(sym->defn, defn))
error_with_pos("redefinition of %s", name);
return sym;
}
+ }
sym = xmalloc(sizeof(*sym));
sym->name = name;
@@ -193,7 +196,7 @@ struct symbol *add_symbol(const char *na
/*----------------------------------------------------------------------*/
-inline void free_node(struct string_list *node)
+void free_node(struct string_list *node)
{
free(node->string);
free(node);
@@ -208,7 +211,7 @@ void free_list(struct string_list *s, st
}
}
-inline struct string_list *copy_node(struct string_list *node)
+struct string_list *copy_node(struct string_list *node)
{
struct string_list *newnode;
@@ -219,22 +222,7 @@ inline struct string_list *copy_node(str
return newnode;
}
-struct string_list *copy_list(struct string_list *s, struct string_list *e)
-{
- struct string_list *h, *p;
-
- if (s == e)
- return NULL;
-
- p = h = copy_node(s);
- while ((s = s->next) != e)
- p = p->next = copy_node(s);
- p->next = NULL;
-
- return h;
-}
-
-int equal_list(struct string_list *a, struct string_list *b)
+static int equal_list(struct string_list *a, struct string_list *b)
{
while (a && b) {
if (a->tag != b->tag || strcmp(a->string, b->string))
@@ -246,7 +234,7 @@ int equal_list(struct string_list *a, st
return !a && !b;
}
-static inline void print_node(FILE * f, struct string_list *list)
+static void print_node(FILE * f, struct string_list *list)
{
switch (list->tag) {
case SYM_STRUCT:
@@ -270,7 +258,7 @@ static inline void print_node(FILE * f,
}
}
-void print_list(FILE * f, struct string_list *list)
+static void print_list(FILE * f, struct string_list *list)
{
struct string_list **e, **b;
struct string_list *tmp, **tmp2;
@@ -299,8 +287,8 @@ void print_list(FILE * f, struct string_
}
}
-static unsigned long
-expand_and_crc_list(struct string_list *list, unsigned long crc)
+static unsigned long expand_and_crc_list(struct string_list *list,
+ unsigned long crc)
{
struct string_list **e, **b;
struct string_list *tmp, **tmp2;
@@ -386,9 +374,8 @@ expand_and_crc_list(struct string_list *
cur->string);
}
- crc =
- partial_crc32(symbol_type_name[cur->tag],
- crc);
+ crc = partial_crc32(symbol_type_name[cur->tag],
+ crc);
crc = partial_crc32_one(' ', crc);
crc = partial_crc32(cur->string, crc);
crc = partial_crc32_one(' ', crc);
@@ -437,21 +424,6 @@ void export_symbol(const char *name)
}
/*----------------------------------------------------------------------*/
-
-void error(const char *fmt, ...)
-{
- va_list args;
-
- if (flag_warnings) {
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- putc('\n', stderr);
-
- errors++;
- }
-}
-
void error_with_pos(const char *fmt, ...)
{
va_list args;
@@ -469,7 +441,7 @@ void error_with_pos(const char *fmt, ...
}
}
-void genksyms_usage(void)
+static void genksyms_usage(void)
{
fputs("Usage:\n" "genksyms [-dDwqhV] > /path/to/.tmp_obj.ver\n" "\n"
#ifdef __GNU_LIBRARY__
diff --git a/scripts/genksyms/genksyms.h b/scripts/genksyms/genksyms.h
index f09af47..ab6f34f 100644
--- a/scripts/genksyms/genksyms.h
+++ b/scripts/genksyms/genksyms.h
@@ -20,74 +20,51 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
#ifndef MODUTILS_GENKSYMS_H
#define MODUTILS_GENKSYMS_H 1
#include <stdio.h>
-
-enum symbol_type
-{
- SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM, SYM_STRUCT, SYM_UNION
+enum symbol_type {
+ SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM, SYM_STRUCT, SYM_UNION
};
-struct string_list
-{
- struct string_list *next;
- enum symbol_type tag;
- char *string;
+struct string_list {
+ struct string_list *next;
+ enum symbol_type tag;
+ char *string;
};
-struct symbol
-{
- struct symbol *hash_next;
- const char *name;
- enum symbol_type type;
- struct string_list *defn;
- struct symbol *expansion_trail;
- int is_extern;
+struct symbol {
+ struct symbol *hash_next;
+ const char *name;
+ enum symbol_type type;
+ struct string_list *defn;
+ struct symbol *expansion_trail;
+ int is_extern;
};
typedef struct string_list **yystype;
#define YYSTYPE yystype
-extern FILE *outfile, *debugfile;
-
extern int cur_line;
-extern char *cur_filename, *output_directory;
-
-extern int flag_debug, flag_dump_defs, flag_warnings;
-extern int checksum_version, kernel_version;
-
-extern int want_brace_phrase, want_exp_phrase, discard_phrase_contents;
-extern struct string_list *current_list, *next_list;
-
+extern char *cur_filename;
struct symbol *find_symbol(const char *name, enum symbol_type ns);
struct symbol *add_symbol(const char *name, enum symbol_type type,
- struct string_list *defn, int is_extern);
+ struct string_list *defn, int is_extern);
void export_symbol(const char *);
-struct string_list *reset_list(void);
-void free_list(struct string_list *s, struct string_list *e);
void free_node(struct string_list *list);
+void free_list(struct string_list *s, struct string_list *e);
struct string_list *copy_node(struct string_list *);
-struct string_list *copy_list(struct string_list *s, struct string_list *e);
-int equal_list(struct string_list *a, struct string_list *b);
-void print_list(FILE *, struct string_list *list);
int yylex(void);
int yyparse(void);
void error_with_pos(const char *, ...);
-#define version(a,b,c) ((a << 16) | (b << 8) | (c))
-
/*----------------------------------------------------------------------*/
-
-#define MODUTILS_VERSION "<in-kernel>"
-
#define xmalloc(size) ({ void *__ptr = malloc(size); \
if(!__ptr && size != 0) { \
fprintf(stderr, "out of memory\n"); \
@@ -101,4 +78,4 @@ void error_with_pos(const char *, ...);
} \
__str; })
-#endif /* genksyms.h */
+#endif /* genksyms.h */
--
1.0.GIT
next prev parent reply other threads:[~2006-03-21 16:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <11429580554104-git-send-email-sam@ravnborg.org>
2006-03-21 16:20 ` [PATCH 22/46] kbuild: do not warn when unwind sections references .init/.exit sections Sam Ravnborg
2006-03-21 16:20 ` [PATCH 23/46] kbuild: version.h should depend on .kernelrelease Sam Ravnborg
2006-03-21 16:20 ` [PATCH 24/46] kbuild: Add copyright to modpost.c Sam Ravnborg
2006-03-21 16:20 ` [PATCH 25/46] kbuild: ignore all generated files for make allmodconfig (x86_64) Sam Ravnborg
2006-03-21 16:20 ` [PATCH 26/46] kbuild: whitelist false section mismatch warnings Sam Ravnborg
2006-03-21 16:20 ` [PATCH 27/46] kbuild: make namespace.pl CROSS_COMPILE happy Sam Ravnborg
2006-03-21 16:20 ` [PATCH 28/46] kbuild: small update of allnoconfig description Sam Ravnborg
2006-03-21 16:20 ` [PATCH 29/46] kbuild: kill trailing whitespace in modpost & friends Sam Ravnborg
2006-03-21 16:20 ` [PATCH 30/46] kbuild: kill false positives from section mismatch warnings for powerpc Sam Ravnborg
2006-03-21 16:20 ` [PATCH 31/46] kbuild: fix section mismatch check for unwind on IA64 Sam Ravnborg
2006-03-21 16:20 ` [PATCH 32/46] kbuild: in the section mismatch check try harder to find symbols Sam Ravnborg
2006-03-21 16:20 ` [PATCH 33/46] kbuild: fix make dir/file.xx when asm symlink is missing Sam Ravnborg
2006-03-21 16:20 ` [PATCH 34/46] kbuild: when warning symbols exported twice now tell user this is the problem Sam Ravnborg
2006-03-21 16:20 ` [PATCH 35/46] kbuild: change kbuild to not rely on incorrect GNU make behavior Sam Ravnborg
2006-03-21 16:20 ` [PATCH 36/46] kbuild: Fix bug in crc symbol generating of kernel and modules Sam Ravnborg
2006-03-21 16:20 ` [PATCH 37/46] kbuild: replace PHONY with FORCE Sam Ravnborg
2006-03-21 16:20 ` [PATCH 38/46] kbuild: in makefile.txt note that Makefile is preferred name for kbuild files Sam Ravnborg
2006-03-21 16:20 ` [PATCH 39/46] kbuild: fix genksyms build error Sam Ravnborg
2006-03-21 16:20 ` [PATCH 40/46] kbuild: Lindent genksyms.c Sam Ravnborg
2006-03-21 16:20 ` Sam Ravnborg [this message]
2006-03-21 16:20 ` [PATCH 42/46] kbuild: add -fverbose-asm to i386 Makefile Sam Ravnborg
2006-03-21 16:20 ` [PATCH 43/46] Kconfig: remove the CONFIG_CC_ALIGN_* options Sam Ravnborg
2006-03-21 16:20 ` [PATCH 44/46] kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h Sam Ravnborg
2006-03-21 16:20 ` [PATCH 45/46] kbuild: fix make help & make *pkg Sam Ravnborg
2006-03-21 16:20 ` [PATCH 46/46] kbuild: remove obsoleted scripts/reference_* files Sam Ravnborg
2006-03-21 17:28 ` [PATCH 35/46] kbuild: change kbuild to not rely on incorrect GNU make behavior Jan-Benedict Glaw
2006-03-21 17:37 ` Paul D. Smith
2006-03-21 17:53 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1142958057424-git-send-email-sam@ravnborg.org \
--to=sam@ravnborg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@mars.ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.