scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | README | LICENSE

commit 260689938154916eebc6d7002c81f001a8771ab3
parent fc170495f7e645ac620e28c546cdd7401d1668c7
Author: Roberto E. Vargas Caballero <k0ga@shike2.net>
Date:   Fri,  8 May 2026 19:44:40 +0200

libmach: Unify coff32setidx and elfsetidx

Diffstat:
Msrc/libmach/coff32/Makefile | 1-
Dsrc/libmach/coff32/coff32setidx.c | 13-------------
Msrc/libmach/elf/Makefile | 1-
Dsrc/libmach/elf/elfsetidx.c | 13-------------
Msrc/libmach/setindex.c | 15+++++++++++----
5 files changed, 11 insertions(+), 32 deletions(-)

diff --git a/src/libmach/coff32/Makefile b/src/libmach/coff32/Makefile @@ -14,7 +14,6 @@ OBJS =\ coff32pc2line.o\ coff32probe.o\ coff32read.o\ - coff32setidx.o\ coff32setsec.o\ coff32setsym.o\ coff32str.o\ diff --git a/src/libmach/coff32/coff32setidx.c b/src/libmach/coff32/coff32setidx.c @@ -1,13 +0,0 @@ -#include <stdio.h> - -#include <scc/mach.h> -#include <scc/coff32.h> - -#include "../libmach.h" -#include "fun.h" - -int -coff32setidx(int type, long nsymbols, char *names[], long offs[], FILE *fp) -{ - return setidx32(ORDER(type), nsymbols, names, offs, fp); -} diff --git a/src/libmach/elf/Makefile b/src/libmach/elf/Makefile @@ -12,7 +12,6 @@ OBJS =\ elfnew.o\ elfprobe.o\ elfread.o\ - elfsetidx.o\ elftype.o\ all: $(OBJS) diff --git a/src/libmach/elf/elfsetidx.c b/src/libmach/elf/elfsetidx.c @@ -1,13 +0,0 @@ -#include <stdio.h> - -#include <scc/mach.h> -#include <scc/coff32.h> - -#include "../libmach.h" -#include "fun.h" - -int -elfsetidx(int type, long nsymbols, char *names[], long offs[], FILE *fp) -{ - return setidx32(BIG_ENDIAN, nsymbols, names, offs, fp); -} diff --git a/src/libmach/setindex.c b/src/libmach/setindex.c @@ -8,10 +8,13 @@ #include "elf/fun.h" #include "coff32/fun.h" -static int (*ops[NFORMATS])(int, long, char **, long *, FILE *) = { - [COFF32] = coff32setidx, - [ELF] = elfsetidx, -}; +static int (*ops[NFORMATS])(int, long, char **, long *, FILE *); + +static int +setidx(int type, long nsymbols, char *names[], long offs[], FILE *fp) +{ + return setidx32(BIG_ENDIAN, nsymbols, names, offs, fp); +} int setindex(int type, long nsyms, char **names, long *offs, FILE *fp) @@ -27,3 +30,7 @@ setindex(int type, long nsyms, char **names, long *offs, FILE *fp) return (*ops[fmt])(type, nsyms, names, offs, fp); } +static int (*ops[NFORMATS])(int, long, char **, long *, FILE *) = { + [COFF32] = setidx, + [ELF] = setidx, +};