Mercurial > hg > xemacs-beta
comparison src/unexfreebsd.c @ 2:ac2d302a0011 r19-15b2
Import from CVS: tag r19-15b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:46:35 +0200 |
parents | 376386a54a3c |
children | 850242ba4a81 |
comparison
equal
deleted
inserted
replaced
1:c0c6a60d29db | 2:ac2d302a0011 |
---|---|
287 caddr_t from, to; | 287 caddr_t from, to; |
288 | 288 |
289 /* We can get relocation sites in the bss region, for objects whose | 289 /* We can get relocation sites in the bss region, for objects whose |
290 contents are copied from a shared library. We don't need or want | 290 contents are copied from a shared library. We don't need or want |
291 to restore these at present. */ | 291 to restore these at present. */ |
292 #ifndef sparc | |
292 if (ri->r_copy) | 293 if (ri->r_copy) |
293 return; | 294 return; |
295 #else | |
296 /* Struct relocation_info_sparc doesn't have member r_copy. | |
297 Instead, we use the address to check if this is run-time-copied. */ | |
298 if (ri->r_address >= ts->bssaddr && ri->r_address < ts->endaddr) | |
299 return; | |
300 #endif | |
294 | 301 |
295 offset = unexec_addr_to_offset (ri->r_address, ts); | 302 offset = unexec_addr_to_offset (ri->r_address, ts); |
296 if (offset == -1) | 303 if (offset == -1) |
297 unexec_error ("bad relocation address 0x%x (0x%x)", 0, ri->r_address, | 304 unexec_error ("bad relocation address 0x%x (0x%x)", 0, ri->r_address, |
298 ((long *)ri)[1]); | 305 ((long *)ri)[1]); |
349 *target = *source; | 356 *target = *source; |
350 target++; | 357 target++; |
351 source++; | 358 source++; |
352 *target = *source; | 359 *target = *source; |
353 } | 360 } |
361 break; | |
354 default: | 362 default: |
355 unexec_error ("unknown reloc type %d seen during unexec()", | 363 unexec_error ("unknown reloc type %d seen during unexec()", |
356 0, ri->r_type); | 364 0, ri->r_type); |
357 break; | 365 break; |
358 } | 366 } |