+2006-09-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * sysdeps/arm/dl-machine.h (elf_machine_rel): Handle undefined
+ symbols.
+ (elf_machine_rela): Likewise.
+
2006-08-21 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/eabi/syscalls.list: Remove msgctl,
break;
case R_ARM_TLS_DTPOFF32:
- *reloc_addr += sym->st_value;
+ if (sym != NULL)
+ *reloc_addr += sym->st_value;
break;
case R_ARM_TLS_TPOFF32:
- CHECK_STATIC_TLS (map, sym_map);
- *reloc_addr += sym->st_value + sym_map->l_tls_offset;
+ if (sym != NULL)
+ {
+ CHECK_STATIC_TLS (map, sym_map);
+ *reloc_addr += sym->st_value + sym_map->l_tls_offset;
+ }
break;
#endif
default:
break;
case R_ARM_TLS_DTPOFF32:
- *reloc_addr = sym->st_value + reloc->r_addend;
+ *reloc_addr = (sym == NULL ? 0 : sym->st_value) + reloc->r_addend;
break;
case R_ARM_TLS_TPOFF32:
- CHECK_STATIC_TLS (map, sym_map);
- *reloc_addr = (sym->st_value + sym_map->l_tls_offset
- + reloc->r_addend);
+ if (sym != NULL)
+ {
+ CHECK_STATIC_TLS (map, sym_map);
+ *reloc_addr = (sym->st_value + sym_map->l_tls_offset
+ + reloc->r_addend);
+ }
break;
#endif
default: