Skip to content

Commit

Permalink
genksyms: reduce indentation in export_symbol()
Browse files Browse the repository at this point in the history
Modify this function to return earlier when find_symbol() returns NULL,
reducing the level of improve readability.

No functional changes are intended.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
  • Loading branch information
Masahiro Yamada committed Nov 27, 2024
1 parent 2b1bd50 commit 091aa11
Showing 1 changed file with 37 additions and 36 deletions.
73 changes: 37 additions & 36 deletions scripts/genksyms/genksyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -632,54 +632,55 @@ static unsigned long expand_and_crc_sym(struct symbol *sym, unsigned long crc)
void export_symbol(const char *name)
{
struct symbol *sym;
unsigned long crc;
int has_changed = 0;

sym = find_symbol(name, SYM_NORMAL, 0);
if (!sym)
if (!sym) {
error_with_pos("export undefined symbol %s", name);
else {
unsigned long crc;
int has_changed = 0;
return;
}

if (flag_dump_defs)
fprintf(debugfile, "Export %s == <", name);
if (flag_dump_defs)
fprintf(debugfile, "Export %s == <", name);

expansion_trail = (struct symbol *)-1L;
expansion_trail = (struct symbol *)-1L;

sym->expansion_trail = expansion_trail;
expansion_trail = sym;
crc = expand_and_crc_sym(sym, 0xffffffff) ^ 0xffffffff;
sym->expansion_trail = expansion_trail;
expansion_trail = sym;
crc = expand_and_crc_sym(sym, 0xffffffff) ^ 0xffffffff;

sym = expansion_trail;
while (sym != (struct symbol *)-1L) {
struct symbol *n = sym->expansion_trail;
sym = expansion_trail;
while (sym != (struct symbol *)-1L) {
struct symbol *n = sym->expansion_trail;

if (sym->status != STATUS_UNCHANGED) {
if (!has_changed) {
print_location();
fprintf(stderr, "%s: %s: modversion "
"changed because of changes "
"in ", flag_preserve ? "error" :
"warning", name);
} else
fprintf(stderr, ", ");
print_type_name(sym->type, sym->name);
if (sym->status == STATUS_DEFINED)
fprintf(stderr, " (became defined)");
has_changed = 1;
if (flag_preserve)
errors++;
if (sym->status != STATUS_UNCHANGED) {
if (!has_changed) {
print_location();
fprintf(stderr,
"%s: %s: modversion changed because of changes in ",
flag_preserve ? "error" : "warning",
name);
} else {
fprintf(stderr, ", ");
}
sym->expansion_trail = 0;
sym = n;
print_type_name(sym->type, sym->name);
if (sym->status == STATUS_DEFINED)
fprintf(stderr, " (became defined)");
has_changed = 1;
if (flag_preserve)
errors++;
}
if (has_changed)
fprintf(stderr, "\n");
sym->expansion_trail = 0;
sym = n;
}
if (has_changed)
fprintf(stderr, "\n");

if (flag_dump_defs)
fputs(">\n", debugfile);
if (flag_dump_defs)
fputs(">\n", debugfile);

printf("#SYMVER %s 0x%08lx\n", name, crc);
}
printf("#SYMVER %s 0x%08lx\n", name, crc);
}

/*----------------------------------------------------------------------*/
Expand Down

0 comments on commit 091aa11

Please sign in to comment.