extern "C" const char* LLVMRustArchiveReadSection(Archive *ar, char *name, size_t *size) { for (Archive::child_iterator child = ar->child_begin(), end = ar->child_end(); child != end; ++child) { StringRef sect_name; error_code err = child->getName(sect_name); if (err) continue; if (sect_name.trim(" ") == name) { StringRef buf = child->getBuffer(); *size = buf.size(); return buf.data(); } } return NULL; }