Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Q: -mcpu= vs. -march= for VR41xx specific instructions
@ 2002-03-14 17:25 Johannes Stezenbach
  2002-03-14 17:47 ` Jim Paris
  2002-03-14 18:10 ` Thiemo Seufer
  0 siblings, 2 replies; 4+ messages in thread
From: Johannes Stezenbach @ 2002-03-14 17:25 UTC (permalink / raw)
  To: linux-mips

I am trying to implement power management for an embedded
device using a NEC VR4120 CPU core, which has the special
instructions "standby", "suspend" and "hibernate".

I use a toolchain based on binutils 2.12.90.0.1 and
gcc 2.95.4-debian.

To use that instructions I have to pass -march=vr4100
to the assembler. Unfortunately, -march and -mcpu cannot
be used together, so first I changed arch/mips/Makefile
from
  GCCFLAGS += -mcpu=r4600 -mips2 -Wa,--trap
to
  GCCFLAGS += -Wa,-march=vr4100 -mips2 -Wa,--trap

This works, but I am unshure what the effects of the
missing -mcpu switch are wrt the code generated by gcc.
AFAICS the kernel still works, but is the generated
code slower or subtly incorrect?

Then I the tried to compile the kernel with the standard
GCCFLAGS, setting -march=vr4100 only for the one
file which contains the standby/suspend/hibernate instructions.
This fails a link time with:

  mips-linux-ld: power.o: uses different e_flags (0x1100) fields than previous modules (0x1000)
  Bad value: failed to merge target specific data of file power.o

I looked at an old arch/mips/Makefile from
http://sourceforge.net/projects/linux-vr/, which has:
  CFLAGS += -mcpu=r4600 -mips2 -Wa,-m4100,--trap
This does not work with my toolchain.

So I think I need either:
- make gas accept -march=vr4100 along with -mcpu=r4600 (or -mcpu=r4100?)
- or have a ".set vr4100" directive to enable the vr41xx specific
  instructions where needed, without changing the flags in the
  ELF header
- or make the linker link modules with different (but compatible) e_flags
- or is "GCCFLAGS += -Wa,-march=vr4100 -mips2 -Wa,--trap" perfect?


Please, does anybody have suggestions how to solve this issue?


Regards,
Johannes

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-03-14 18:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-14 17:25 Q: -mcpu= vs. -march= for VR41xx specific instructions Johannes Stezenbach
2002-03-14 17:47 ` Jim Paris
2002-03-14 18:10 ` Thiemo Seufer
2002-03-14 18:34   ` Johannes Stezenbach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox