Lines Matching +defs:file +defs:end

88     report("not an ELF file");
90 report("corrupted ELF file: invalid data encoding");
92 report("corrupted ELF file: invalid file class");
97 report("corrupted ELF file: file is too short");
212 // All files within the same --{start,end}-group get the same group ID.
213 // Otherwise, a new file will get a new group ID.
230 if (it != ctx.arg.remapInputs.end()) {
243 // Use /dev/null to indicate an input file that should be ignored. Change
272 static bool isCompatible(Ctx &ctx, InputFile *file) {
273 if (!file->isElf() && !isa<BitcodeFile>(file))
276 if (file->ekind == ctx.arg.ekind && file->emachine == ctx.arg.emachine) {
279 if (isMipsN32Abi(ctx, *file) == ctx.arg.mipsN32Abi)
286 Err(ctx) << file << " is incompatible with " << target;
298 diag << file << " is incompatible";
304 template <class ELFT> static void doParseFile(Ctx &ctx, InputFile *file) {
305 if (!isCompatible(ctx, file))
308 // Lazy object file
309 if (file->lazy) {
310 if (auto *f = dyn_cast<BitcodeFile>(file)) {
314 cast<ObjFile<ELFT>>(file)->parseLazy();
320 Msg(ctx) << file;
322 if (file->kind() == InputFile::ObjKind) {
323 ctx.objectFiles.push_back(cast<ELFFileBase>(file));
324 cast<ObjFile<ELFT>>(file)->parse();
325 } else if (auto *f = dyn_cast<SharedFile>(file)) {
327 } else if (auto *f = dyn_cast<BitcodeFile>(file)) {
331 ctx.binaryFiles.push_back(cast<BinaryFile>(file));
332 cast<BinaryFile>(file)->parse();
337 void elf::parseFile(Ctx &ctx, InputFile *file) {
338 invokeELFT(doParseFile, ctx, file);
380 // An ELF object file may contain a `.deplibs` section. If it exists, the
602 for (const char *d = data.begin(), *e = data.end(); d < e;) {
644 // medatada, and we don't want them to end up in the output file for
678 // section as is to the output. While this would produce a valid ELF file with
689 // argued as invalid because it doesn't end with a null character.
756 // file was created by objcopy or ld -r. This is because these tools
854 // applying relocations at end of linking changes section contents. So, we
858 s = makeThreadLocal<InputSection>(ms->file, ms->name, ms->type,
928 diag << sec.file << ":(" << sec.name << "+0x"
1021 // that the code in the object file does not expect that the stack is
1052 // file's .note.gnu.property section.
1060 // see https://gcc.gnu.org/wiki/SplitStacks. An object file compiled
1072 // An object file compiled for split stack, but where some of the
1110 for (size_t i = firstGlobal, end = eSyms.size(); i != end; ++i)
1116 for (size_t i = firstGlobal, end = eSyms.size(); i != end; ++i) {
1151 // interconnected symbols will all be resolved to the same file, instead of
1174 for (size_t i = 0, end = firstGlobal; i != end; ++i) {
1187 << ") found at index < .symtab's sh_info (" << end << ")";
1217 for (size_t i = firstGlobal, end = eSyms.size(); i != end; ++i) {
1233 Err(ctx) << "TLS attribute mismatch: " << &sym << "\n>>> in " << sym.file
1236 // Handle non-COMMON defined symbol below. !sym.file allows a symbol
1260 if (sym.file == this) {
1267 if (sym.file == this) {
1350 // Parse the version definitions in the object file if present, and return a
1387 if (verneedBuf + sizeof(typename ELFT::Verneed) > data.end()) {
1394 if (vernauxBuf + sizeof(typename ELFT::Vernaux) > data.end()) {
1429 // Fully parse the shared object file.
1432 // the file has a ".gnu.version_d" section which contains symbol version
1441 // The file format for symbol versioning is perhaps a bit more complicated
1526 // table. If a given file doesn't have a ".gnu.version" section, we use
1566 ErrAlways(ctx) << "corrupt input file: version need index " << idx
1591 ErrAlways(ctx) << "corrupt input file: version definition index " << idx
1603 if (s->file == this)
1621 if (s->file == this)
1712 // symbols later in the link stage). So we append file offset to make
1827 if (sym.file == this || !sym.isDefined() || irSym.isUndefined() ||
1844 // For each input file foo that is embedded to a result as a binary
1845 // blob, we define _binary_foo_{start,end,size} symbols, so that
1866 auto *file =
1868 // References from an internal file do not lead to --warn-backrefs
1870 file->groupId = 0;
1871 return file;
1908 for (size_t i = firstGlobal, end = eSyms.size(); i != end; ++i) {