+ for (i = 0; i < sym_cnt_obj; i++) {
+ if (strncmp(syms_obj[i].name, "rm_", 3))
+ continue;
+
+ addr = syms_obj[i].addr;
+ end = (i < sym_cnt_obj - 1)
+ ? syms_obj[i + 1].addr : sztext_obj;
+ if (addr >= sztext_obj || end > sztext_obj) {
+ printf("addr OOR: %x-%x '%s'\n", addr, end,
+ syms_obj[i].name);
+ goto out;
+ }
+ memset(d_obj + addr, 0xcc, end - addr);
+ }
+
+ // parse_headers has set pos to .text
+ ret = fwrite(d_obj, 1, sztext_obj, f_obj);
+ my_assert(ret, sztext_obj);
+
+ fclose(f_obj);
+ fclose(f_exe);
+
+ retval = 0;