reloc.c (b08440e568654d75d67f6802a53d508bbd7bc552) | reloc.c (a42a42e9b9cd091de549a3b144e89d7c4b5bc2fd) |
---|---|
1/*- 2 * Copyright 1996, 1997, 1998, 1999 John D. Polstra. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 245 unchanged lines hidden (view full) --- 254 const Obj_Entry *defobj; 255 256 assert(ELF_R_TYPE(rel->r_info) == R_386_JMP_SLOT); 257 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); 258 def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, true, NULL); 259 if (def == NULL) 260 return -1; 261 target = (Elf_Addr)(defobj->relocbase + def->st_value); | 1/*- 2 * Copyright 1996, 1997, 1998, 1999 John D. Polstra. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 245 unchanged lines hidden (view full) --- 254 const Obj_Entry *defobj; 255 256 assert(ELF_R_TYPE(rel->r_info) == R_386_JMP_SLOT); 257 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); 258 def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, true, NULL); 259 if (def == NULL) 260 return -1; 261 target = (Elf_Addr)(defobj->relocbase + def->st_value); |
262 reloc_jmpslot(where, target, defobj); | 262 reloc_jmpslot(where, target, defobj, obj, rel); |
263 } 264 obj->jmpslots_done = true; 265 return 0; 266} | 263 } 264 obj->jmpslots_done = true; 265 return 0; 266} |