On 29/06/17 18:05, David Miller wrote:

From: Daniel Cederman <ceder...@gaisler.com>
Date: Thu, 29 Jun 2017 17:15:43 +0200

I'm not thrilled with this, it's undocumented, the other workaround
don't have
it and I don't think that we really need it.
The B2BST errata workaround requires more changes to assembler
routines commonly used by operating systems, such as for example
register window handling, than what the UT699 workaround needed. It
would be nice to have a way to only enable these modification when the
-mfix- flag is used. The alternative would be to provide a define
directly on the compiler command line in conjunction with -mfix
flag. But if more changes are required later on it would be good to
have the define more closely tied to the flag to minimize the number
of changes to Makefiles and etc.
Personally, I have never seen compiler based CPP defines as ever being
useful for tailoring OS assembler code.  Ever.

In most cases you will want to support several families of CPUs and
therefore sort out the individual cpu support assembler routines
internally in the kernel sources.

This depends on the operating system you use. For some embedded systems where the application and the operating system are one executable it is quite common to use compiler provided defines in assembly code.

For example:

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libc/machine/arm/memcpy-armv7a.S;h=cd7962e075a30cb90ec073d77b177c3536429b9b;hb=HEAD

For a software development kit, the run-time libraries are built for a set of multilibs. Each assembler file may use multilib specific compiler defines, e.g. floating point unit present or not, errata XYZ present or not, etc.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

Reply via email to