From: Johannes Stezenbach <js@convergence.de>
To: linux-mips@oss.sgi.com
Subject: Q: -mcpu= vs. -march= for VR41xx specific instructions
Date: Thu, 14 Mar 2002 18:25:02 +0100 [thread overview]
Message-ID: <20020314172502.GA5365@convergence.de> (raw)
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
next reply other threads:[~2002-03-14 17:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-14 17:25 Johannes Stezenbach [this message]
2002-03-14 17:47 ` Q: -mcpu= vs. -march= for VR41xx specific instructions Jim Paris
2002-03-14 18:10 ` Thiemo Seufer
2002-03-14 18:34 ` Johannes Stezenbach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020314172502.GA5365@convergence.de \
--to=js@convergence.de \
--cc=linux-mips@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox