ref: d73fa0977437e81a213bc4663aa66ff86304f868
parent: b1cd730db2dc3719e451b5eb6fb91c26b3715d4d
author: ISSOtm <[email protected]>
date: Mon Jan 27 03:42:04 EST 2020
Remove RGB6 parsing
--- a/src/link/object.c
+++ b/src/link/object.c
@@ -334,99 +334,6 @@
}
/**
- * Reads a RGB6 object file.
- * @param file The file to read from
- * @param fileName The filename to report in errors
- */
-static void readRGB6File(FILE *file, char const *fileName)
-{
- uint32_t nbSymbols;
- uint32_t nbSections;
-
- tryReadlong(nbSymbols, file, "%s: Cannot read number of symbols: %s",
- fileName);
- tryReadlong(nbSections, file, "%s: Cannot read number of sections: %s",
- fileName);
-
- nbSectionsToAssign += nbSections;
-
- /* This file's symbols, kept to link sections to them */
- struct Symbol **fileSymbols =
- malloc(sizeof(*fileSymbols) * nbSymbols + 1);
-
- if (!fileSymbols)
- err(1, "Failed to get memory for %s's symbols", fileName);
-
- struct SymbolList *symbolList = malloc(sizeof(*symbolList));
-
- if (!symbolList)
- err(1, "Failed to register %s's symbol list", fileName);
- symbolList->symbolList = fileSymbols;
- symbolList->nbSymbols = nbSymbols;
- symbolList->next = symbolLists;
- symbolLists = symbolList;
-
- uint32_t nbSymPerSect[nbSections ? nbSections : 1];
-
- memset(nbSymPerSect, 0, sizeof(nbSymPerSect));
-
- verbosePrint("Reading %u symbols...\n", nbSymbols);
- for (uint32_t i = 0; i < nbSymbols; i++) {
- /* Read symbol */
- struct Symbol *symbol = malloc(sizeof(*symbol));
-
- if (!symbol)
- err(1, "%s: Couldn't create new symbol", fileName);
- readSymbol(file, symbol, fileName);
-
- fileSymbols[i] = symbol;
- if (symbol->type == SYMTYPE_EXPORT)
- sym_AddSymbol(symbol);
- if (symbol->sectionID != -1)
- nbSymPerSect[symbol->sectionID]++;
- }
-
- /* This file's sections, stored in a table to link symbols to them */
- struct Section *fileSections[nbSections ? nbSections : 1];
-
- verbosePrint("Reading %u sections...\n", nbSections);
- for (uint32_t i = 0; i < nbSections; i++) {
- /* Read section */
- struct Section *section = malloc(sizeof(*section));
-
- if (!section)
- err(1, "%s: Couldn't create new section", fileName);
- readSection(file, section, fileName);
- section->fileSymbols = fileSymbols;
-
- sect_AddSection(section);
- fileSections[i] = section;
- if (nbSymPerSect[i]) {
- section->symbols = malloc(sizeof(*section->symbols)
- * nbSymPerSect[i]);
- if (!section->symbols)
- err(1, "%s: Couldn't link to symbols");
- } else {
- section->symbols = NULL;
- }
- section->nbSymbols = 0;
- }
-
- /* Give symbols pointers to their sections */
- for (uint32_t i = 0; i < nbSymbols; i++) {
- int32_t sectionID = fileSymbols[i]->sectionID;
-
- if (sectionID == -1) {
- fileSymbols[i]->section = NULL;
- } else {
- fileSymbols[i]->section = fileSections[sectionID];
- /* Give the section a pointer to the symbol as well */
- linkSymToSect(fileSymbols[i], fileSections[sectionID]);
- }
- }
-}
-
-/**
* Reads a RGB7 object file.
* @param file The file to read from
* @param fileName The filename to report in errors
@@ -543,20 +450,12 @@
verbosePrint("Reading object file %s, version %hhu\n",
fileName, versionNumber);
- switch (versionNumber) {
- case 6:
- readRGB6File(file, fileName);
- break;
-
- case 7:
- readRGB7File(file, fileName);
- break;
-
- /* TODO: support older versions? */
- default:
+ if (versionNumber != 7)
errx(1, "\"%s\" is an incompatible version %hhu object file",
fileName, versionNumber);
- }
+
+ readRGB7File(file, fileName);
+
fclose(file);
}