--- gcc/config/mips/mips-5.h 2018/04/24 18:15:46 1.1.1.2 +++ gcc/config/mips/mips-5.h 2018/04/24 18:22:02 1.1.1.3 @@ -19,14 +19,27 @@ along with GNU CC; see the file COPYING. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define LINK_SPEC "\ -%{G*} \ -%{!mgas: \ - %{EB} %{!EB: -EB} \ - %{EL: %e-EL not supported} \ - %{mips1} %{mips2} %{mips3} %{bestGnum} \ - %{shared} %{non_shared} %{call_shared} %{no_archive} %{exact_version} \ - %{!shared: %{!non_shared: %{!call_shared: -non_shared}}}}" +%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \ +%{bestGnum} %{shared} %{non_shared} \ +%{call_shared} %{no_archive} %{exact_version} \ +%{!shared: %{!non_shared: %{!call_shared: -non_shared}}}" #define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt1.o%s crtn.o%s}}" #include "mips/mips.h" + +/* Some assemblers have a bug that causes backslash escaped chars in .ascii + to be misassembled, so we just completely avoid it. */ +#undef ASM_OUTPUT_ASCII +#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ +do { \ + unsigned char *s; \ + int i; \ + for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \ + { \ + if ((i % 8) == 0) \ + fputs ("\n\t.byte\t", (FILE)); \ + fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ + } \ + fputs ("\n", (FILE)); \ +} while (0)