diff options
Diffstat (limited to 'gnu/llvm/tools/llvm-c-test/object.c')
| -rw-r--r-- | gnu/llvm/tools/llvm-c-test/object.c | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/gnu/llvm/tools/llvm-c-test/object.c b/gnu/llvm/tools/llvm-c-test/object.c deleted file mode 100644 index 809ad54f872..00000000000 --- a/gnu/llvm/tools/llvm-c-test/object.c +++ /dev/null @@ -1,87 +0,0 @@ -/*===-- object.c - tool for testing libLLVM and llvm-c API ----------------===*\ -|* *| -|* The LLVM Compiler Infrastructure *| -|* *| -|* This file is distributed under the University of Illinois Open Source *| -|* License. See LICENSE.TXT for details. *| -|* *| -|*===----------------------------------------------------------------------===*| -|* *| -|* This file implements the --object-list-sections and --object-list-symbols *| -|* commands in llvm-c-test. *| -|* *| -\*===----------------------------------------------------------------------===*/ - -#include "llvm-c-test.h" -#include "llvm-c/Object.h" -#include <stdio.h> -#include <stdlib.h> - -int llvm_object_list_sections(void) { - LLVMMemoryBufferRef MB; - LLVMObjectFileRef O; - LLVMSectionIteratorRef sect; - char *msg = NULL; - - if (LLVMCreateMemoryBufferWithSTDIN(&MB, &msg)) { - fprintf(stderr, "Error reading file: %s\n", msg); - exit(1); - } - - O = LLVMCreateObjectFile(MB); - if (!O) { - fprintf(stderr, "Error reading object\n"); - exit(1); - } - - sect = LLVMGetSections(O); - while (!LLVMIsSectionIteratorAtEnd(O, sect)) { - printf("'%s': @0x%08" PRIx64 " +%" PRIu64 "\n", LLVMGetSectionName(sect), - LLVMGetSectionAddress(sect), LLVMGetSectionSize(sect)); - - LLVMMoveToNextSection(sect); - } - - LLVMDisposeSectionIterator(sect); - - LLVMDisposeObjectFile(O); - - return 0; -} - -int llvm_object_list_symbols(void) { - LLVMMemoryBufferRef MB; - LLVMObjectFileRef O; - LLVMSectionIteratorRef sect; - LLVMSymbolIteratorRef sym; - char *msg = NULL; - - if (LLVMCreateMemoryBufferWithSTDIN(&MB, &msg)) { - fprintf(stderr, "Error reading file: %s\n", msg); - exit(1); - } - - O = LLVMCreateObjectFile(MB); - if (!O) { - fprintf(stderr, "Error reading object\n"); - exit(1); - } - - sect = LLVMGetSections(O); - sym = LLVMGetSymbols(O); - while (!LLVMIsSymbolIteratorAtEnd(O, sym)) { - - LLVMMoveToContainingSection(sect, sym); - printf("%s @0x%08" PRIx64 " +%" PRIu64 " (%s)\n", LLVMGetSymbolName(sym), - LLVMGetSymbolAddress(sym), LLVMGetSymbolSize(sym), - LLVMGetSectionName(sect)); - - LLVMMoveToNextSymbol(sym); - } - - LLVMDisposeSymbolIterator(sym); - - LLVMDisposeObjectFile(O); - - return 0; -} |
