Home | History | Annotate | Download | only in utils

Lines Matching refs:string

35 static std::string tmpnam_;
44 typedef std::string (*TestFn)(Ass* assembler);
46 void DriverFn(TestFn f, std::string test_name) {
51 void DriverStr(std::string assembly_string, std::string test_name) {
55 std::string RepeatR(void (Ass::*f)(Reg), std::string fmt) {
57 std::string str;
60 std::string base = fmt;
63 if (reg_index != std::string::npos) {
66 std::string reg_string = sreg.str();
80 std::string RepeatRR(void (Ass::*f)(Reg, Reg), std::string fmt) {
82 std::string str;
86 std::string base = fmt;
89 if (reg1_index != std::string::npos) {
92 std::string reg_string = sreg.str();
97 if (reg2_index != std::string::npos) {
100 std::string reg_string = sreg.str();
115 std::string RepeatRI(void (Ass::*f)(Reg, const Imm&), size_t imm_bytes, std::string fmt) {
117 std::string str;
124 std::string base = fmt;
127 if (reg_index != std::string::npos) {
130 std::string reg_string = sreg.str();
135 if (imm_index != std::string::npos) {
138 std::string imm_string = sreg.str();
153 std::string RepeatI(void (Ass::*f)(const Imm&), size_t imm_bytes, std::string fmt) {
154 std::string str;
160 std::string base = fmt;
163 if (imm_index != std::string::npos) {
166 std::string imm_string = sreg.str();
193 std::string disassembler = GetDisassembleCommand();
228 virtual std::string GetArchitectureString() = 0;
231 virtual std::string GetAssemblerCmdName() {
236 virtual std::string GetAssemblerParameters() {
241 virtual std::string GetAssemblerCommand() {
247 std::string line = FindTool(GetAssemblerCmdName());
258 virtual std::string GetObjdumpCmdName() {
263 virtual std::string GetObjdumpParameters() {
268 virtual std::string GetObjdumpCommand() {
274 std::string line = FindTool(GetObjdumpCmdName());
285 virtual std::string GetDisassembleCmdName() {
291 virtual std::string GetDisassembleParameters() = 0;
294 virtual std::string GetDisassembleCommand() {
300 std::string line = FindTool(GetDisassembleCmdName());
342 void Driver(std::string assembly_text, std::string test_name) {
384 std::string error_msg;
385 std::string base_name;
391 bool Assemble(const char* from_file, const char* to_file, std::string* error_msg) {
398 std::vector<std::string> args;
410 std::string Objdump(std::string file) {
417 std::string error_msg;
418 std::vector<std::string> args;
424 std::string cmd = Join(args, ' ');
437 std::string line;
457 std::string test_name) {
458 std::string disassembler = GetDisassembleCommand();
464 std::string data_name = WriteToFile(data, test_name + ".ass");
465 std::string error_msg;
472 std::string as_name = WriteToFile(as, test_name + ".gcc");
493 bool DisassembleBinary(std::string file, std::string* error_msg) {
494 std::vector<std::string> args;
501 std::string cmd = Join(args, ' ');
511 std::string WriteToFile(std::vector<uint8_t>& buffer, std::string test_name) {
512 std::string file_name = GetTmpnam() + std::string("---") + test_name;
520 bool CompareFiles(std::string f1, std::string f2) {
535 bool Compile(std::string assembly_code, NativeAssemblerResult* res, std::string test_name) {
539 res->base_name = GetTmpnam() + std::string("---") + test_name;
553 std::string odump = Objdump(res->base_name + ".o");
560 std::istream_iterator<std::string> start(iss);
561 std::istream_iterator<std::string> end;
562 std::vector<std::string
574 std::string lengthToken = "0x" + tokens[2];
577 std::string offsetToken = "0x" + tokens[5];
601 static bool FileExists(std::string file) {
608 if (last_slash == std::string::npos) {
614 if (space_index == std::string::npos) {
618 std::string copy = file.substr(0, space_index - 1);
625 static std::string GetGCCRootPath() {
629 static std::string GetRootPath() {
633 return std::string(build_top) + "/";
638 return getcwd(temp, 1024) ? std::string(temp) + "/" : std::string("");
641 std::string FindTool(std::string tool_name) {
642 // Find the current tool. Wild-card pattern is "arch-string*tool-name".
643 std::string gcc_path = GetRootPath() + GetGCCRootPath();
644 std::vector<std::string> args;
655 std::string tmp_file = GetTmpnam();
658 std::string sh_args = Join(args, ' ');
665 std::string error_msg;
672 std::string line;
684 std::string GetTmpnam() {
694 std::string resolved_assembler_cmd_;
695 std::string resolved_objdump_cmd_;
696 std::string resolved_disassemble_cmd_;
698 std::string android_data_;