+/* Make sure that mapping symbols in object files are not removed via the
+ "strip --strip-unneeded" tool. These symbols are needed in order to
+ correctly generate interworking veneers, and for byte swapping code
+ regions. Once an object file has been linked, it is safe to remove the
+ symbols as they will no longer be needed. */
+
+static void
+elf32_arm_backend_symbol_processing (bfd *abfd, asymbol *sym)
+{
+ if (((abfd->flags & (EXEC_P | DYNAMIC)) == 0)
+ && sym->name != NULL
+ && sym->section != bfd_abs_section_ptr
+ && (strcmp (sym->name, "$a") == 0
+ || strcmp (sym->name, "$t") == 0
+ || strcmp (sym->name, "$d") == 0))
+ sym->flags |= BSF_KEEP;
+}
+