+ RelocToApply visitCOFF(uint32_t RelocType, RelocationRef R, uint64_t Value) {
+ switch (ObjToVisit.getArch()) {
+ case Triple::x86:
+ switch (RelocType) {
+ case COFF::IMAGE_REL_I386_SECREL:
+ return visitCOFF_I386_SECREL(R, Value);
+ case COFF::IMAGE_REL_I386_DIR32:
+ return visitCOFF_I386_DIR32(R, Value);
+ }
+ break;
+ case Triple::x86_64:
+ switch (RelocType) {
+ case COFF::IMAGE_REL_AMD64_SECREL:
+ return visitCOFF_AMD64_SECREL(R, Value);
+ case COFF::IMAGE_REL_AMD64_ADDR64:
+ return visitCOFF_AMD64_ADDR64(R, Value);
+ }
+ break;
+ }
+ HasError = true;
+ return RelocToApply();
+ }