+
+/* Difference expressions for the 64-bit HP-UX target have the same
+ limitations as those for the 32-bit SOM target. */
+#define DIFF_EXPR_OK 1
+
+/* Handle .type pseudo. Given a type string of `millicode', set the
+ internal elf symbol type to STT_PARISC_MILLI, and return
+ BSF_FUNCTION for the BFD symbol type. */
+#define md_elf_symbol_type(name, sym, elf) \
+ ((strcmp ((name), "millicode") == 0 \
+ || strcmp ((name), "STT_PARISC_MILLI") == 0) \
+ ? (((elf)->internal_elf_sym.st_info = ELF_ST_INFO \
+ (ELF_ST_BIND ((elf)->internal_elf_sym.st_info), STT_PARISC_MILLI)\
+ ), BSF_FUNCTION) \
+ : -1)
+
+/* Handle type change from .type pseudo: Zap STT_PARISC_MILLI when
+ switching to a non-function type. */
+#define md_elf_symbol_type_change(sym, elf, type) \
+ ((type) != BSF_FUNCTION \
+ && (((elf)->internal_elf_sym.st_info = \
+ ELF_ST_INFO (ELF_ST_BIND ((elf)->internal_elf_sym.st_info), \
+ STT_NOTYPE)), 0))
+