[PATCH] m68000 ELF + two m68k gas fixes
Jason R Thorpe
thorpej@wasabisystems.com
Fri Feb 1 08:35:00 GMT 2002
Per Nick's request, I'm posting an updated version of Matt's patch
(some of the changes are no longer necessary), as Matt's copyright
assignment papers have been processed.
OK to commit?
[ for bfd/ChangeLog ]
2002-02-01 Matt Fredette <fredette@netbsd.org>
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
EF_M68000.
[ for binutils/ChangeLog ]
2002-02-01 Matt Fredette <fredette@netbsd.org>
* readelf.c (get_machine_flags): Recognize EF_M68000.
[ for gas/ChangeLog ]
2002-02-01 Matt Fredette <fredette@netbsd.org>
* config/tc-m68k.c (md_show_usage): No longer display a
hard-coded "68020" for the default CPU, instead display the
canonical name of the true, configured default CPU.
(m68k_elf_final_processing): Mark objects for sub-68020
CPUs with the new EF_M68000 flag.
[ for include/elf/ChangeLog ]
2002-02-01 Matt Fredette <fredette@netbsd.org>
* m68k.h (EF_M68000): Define.
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>
-------------- next part --------------
Index: bfd/elf32-m68k.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-m68k.c,v
retrieving revision 1.34
diff -c -r1.34 elf32-m68k.c
*** elf32-m68k.c 2001/12/18 17:59:58 1.34
--- elf32-m68k.c 2002/02/01 07:08:47
***************
*** 412,417 ****
--- 412,420 ----
if (elf_elfheader (abfd)->e_flags & EF_CPU32)
fprintf (file, _ (" [cpu32]"));
+ if (elf_elfheader (abfd)->e_flags & EF_M68000)
+ fprintf (file, _ (" [m68000]"));
+
fputc ('\n', file);
return true;
Index: binutils/readelf.c
===================================================================
RCS file: /cvs/src/src/binutils/readelf.c,v
retrieving revision 1.148
diff -c -r1.148 readelf.c
*** readelf.c 2002/01/23 16:12:56 1.148
--- readelf.c 2002/02/01 07:08:54
***************
*** 1629,1634 ****
--- 1629,1636 ----
case EM_68K:
if (e_flags & EF_CPU32)
strcat (buf, ", cpu32");
+ if (e_flags & EF_M68000)
+ strcat (buf, ", m68000");
break;
case EM_PPC:
Index: gas/config/tc-m68k.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-m68k.c,v
retrieving revision 1.36
diff -c -r1.36 tc-m68k.c
*** tc-m68k.c 2002/01/06 12:15:45 1.36
--- tc-m68k.c 2002/02/01 07:08:59
***************
*** 6916,6931 ****
md_show_usage (stream)
FILE *stream;
{
fprintf (stream, _("\
680X0 options:\n\
-l use 1 word for refs to undefined symbols [default 2]\n\
-m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 |\n\
-m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360 | -mcpu32 |\n\
-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m5307 | -m5407\n\
! specify variant of 680X0 architecture [default 68020]\n\
-m68881 | -m68882 | -mno-68881 | -mno-68882\n\
target has/lacks floating-point coprocessor\n\
! [default yes for 68020, 68030, and cpu32]\n"));
fprintf (stream, _("\
-m68851 | -mno-68851\n\
target has/lacks memory-management unit coprocessor\n\
--- 6916,6955 ----
md_show_usage (stream)
FILE *stream;
{
+ const char *default_cpu = TARGET_CPU;
+ int default_arch, i;
+
+ /* Get the canonical name for the default target CPU. */
+ if (*default_cpu == 'm')
+ default_cpu++;
+ for (i = 0; i < n_archs; i++)
+ {
+ if (strcasecmp (default_cpu, archs[i].name) == 0)
+ {
+ default_arch = archs[i].arch;
+ for (i = 0; i < n_archs; i++)
+ {
+ if (archs[i].arch == default_arch
+ && !archs[i].alias)
+ {
+ default_cpu = archs[i].name;
+ break;
+ }
+ }
+ }
+ }
+
fprintf (stream, _("\
680X0 options:\n\
-l use 1 word for refs to undefined symbols [default 2]\n\
-m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 |\n\
-m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360 | -mcpu32 |\n\
-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m5307 | -m5407\n\
! specify variant of 680X0 architecture [default %s]\n\
-m68881 | -m68882 | -mno-68881 | -mno-68882\n\
target has/lacks floating-point coprocessor\n\
! [default yes for 68020, 68030, and cpu32]\n"),
! default_cpu);
fprintf (stream, _("\
-m68851 | -mno-68851\n\
target has/lacks memory-management unit coprocessor\n\
***************
*** 7118,7122 ****
--- 7142,7149 ----
/* Set file-specific flags if this is a cpu32 processor */
if (cpu_of_arch (current_architecture) & cpu32)
elf_elfheader (stdoutput)->e_flags |= EF_CPU32;
+ else if ((cpu_of_arch (current_architecture) & m68000up)
+ && !(cpu_of_arch (current_architecture) & m68020up))
+ elf_elfheader (stdoutput)->e_flags |= EF_M68000;
}
#endif
Index: include/elf/m68k.h
===================================================================
RCS file: /cvs/src/src/include/elf/m68k.h,v
retrieving revision 1.6
diff -c -r1.6 m68k.h
*** m68k.h 2001/03/14 02:27:44 1.6
--- m68k.h 2002/02/01 07:09:02
***************
*** 53,57 ****
--- 53,58 ----
END_RELOC_NUMBERS (R_68K_max)
#define EF_CPU32 0x00810000
+ #define EF_M68000 0x01000000
#endif
More information about the Binutils
mailing list