* recent arm.h change
@ 2000-03-29 11:15 Richard Earnshaw
0 siblings, 0 replies; 8+ messages in thread
From: Richard Earnshaw @ 2000-03-29 11:15 UTC (permalink / raw)
To: nickc; +Cc: rearnsha, gcc
Nick,
Your recent change on the branch
2000-03-24 Nick Clifton <nickc@cygnus.com>
* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
already defined.
(ASM_SPEC): Define if not already defined.
(ASM_OUTPUT_DEF_FROM_DECLS): Define.
breaks builds on a.out assemblers. These assemblers don't support all the
flags that this defines, even in the latest builds. The defines need to
be moved to the elf (and maybe coff) SUBTARGET_EXTRA_ASM_SPEC defines. We
also need to check that there is at least one official release of GAS that
supports these before we can add them at all.
I don't believe it is acceptable for gcc to require a development version
of gas be used.
Richard.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
@ 2000-03-30 12:21 Nick Clifton
0 siblings, 0 replies; 8+ messages in thread
From: Nick Clifton @ 2000-03-30 12:21 UTC (permalink / raw)
To: rearnsha; +Cc: gcc
Hi Richard,
: Can you back it out on the branch as well?
Sure - I will check in the patch below.
: Also, you forgot to commit a ChangeLog entry.
Oops - sorry. I have now fixed this.
Cheers
Nick
2000-03-30 Nick Clifton <nickc@cygnus.com>
* config/arm/semi.h (ASM_SPEC): Restore definition.
(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
* config/arm/elf.h (ASM_SPEC): Restore definition.
(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
* config/arm/arm.h (ASM_SPEC): Remove definition.
(SUBTARGET_EXTRA_ASM_SPEC): Remove definition.
Index: arm.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/arm.h,v
retrieving revision 1.49.2.15
diff -p -r1.49.2.15 arm.h
*** arm.h 2000/03/24 19:06:08 1.49.2.15
--- arm.h 2000/03/30 20:19:02
*************** Unrecognized value in TARGET_CPU_DEFAULT
*** 267,287 ****
#define SUBTARGET_CPP_SPEC ""
#endif
- #ifndef SUBTARGET_EXTRA_ASM_SPEC
- #define SUBTARGET_EXTRA_ASM_SPEC
- #endif
-
- #ifndef ASM_SPEC
- #define ASM_SPEC "\
- %{mbig-endian:-EB} \
- %{mcpu=*:-m%*} \
- %{march=*:-m%*} \
- %{mapcs-*:-mapcs-%*} \
- %{mapcs-float:-mfloat} \
- %{msoft-float:-mno-fpu} \
- %{mthumb-interwork:-mthumb-interwork} \
- " SUBTARGET_EXTRA_ASM_SPEC
- #endif
\f
/* Run-time Target Specification. */
#ifndef TARGET_VERSION
--- 267,272 ----
Index: elf.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/elf.h,v
retrieving revision 1.13.2.7
diff -p -r1.13.2.7 elf.h
*** elf.h 2000/03/24 19:06:09 1.13.2.7
--- elf.h 2000/03/30 20:19:02
*************** Boston, MA 02111-1307, USA. */
*** 36,41 ****
--- 36,57 ----
#define SUBTARGET_CPP_SPEC "-Darm_elf -D__ELF__"
#endif
+ #ifndef SUBTARGET_EXTRA_ASM_SPEC
+ #define SUBTARGET_EXTRA_ASM_SPEC
+ #endif
+
+ #ifndef ASM_SPEC
+ #define ASM_SPEC "\
+ %{mbig-endian:-EB} \
+ %{mcpu=*:-m%*} \
+ %{march=*:-m%*} \
+ %{mapcs-*:-mapcs-%*} \
+ %{mapcs-float:-mfloat} \
+ %{msoft-float:-mno-fpu} \
+ %{mthumb-interwork:-mthumb-interwork} \
+ " SUBTARGET_EXTRA_ASM_SPEC
+ #endif
+
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
expect various different forms for this operand. The one given here
Index: semi.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/semi.h,v
retrieving revision 1.2.10.4
diff -p -r1.2.10.4 semi.h
*** semi.h 2000/03/24 19:06:09 1.2.10.4
--- semi.h 2000/03/30 20:19:02
*************** Boston, MA 02111-1307, USA. */
*** 35,40 ****
--- 35,56 ----
#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME)
#endif
+ #ifndef SUBTARGET_EXTRA_ASM_SPEC
+ #define SUBTARGET_EXTRA_ASM_SPEC
+ #endif
+
+ #ifndef ASM_SPEC
+ #define ASM_SPEC "\
+ %{mbig-endian:-EB} \
+ %{mcpu=*:-m%*} \
+ %{march=*:-m%*} \
+ %{mapcs-*:-mapcs-%*} \
+ %{mapcs-float:-mfloat} \
+ %{msoft-float:-mno-fpu} \
+ %{mthumb-interwork:-mthumb-interwork} \
+ " SUBTARGET_EXTRA_ASM_SPEC
+ #endif
+
#include "arm/aout.h"
#undef CPP_APCS_PC_DEFAULT_SPEC
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
2000-03-29 12:46 Nick Clifton
@ 2000-03-30 1:45 ` Richard Earnshaw
0 siblings, 0 replies; 8+ messages in thread
From: Richard Earnshaw @ 2000-03-30 1:45 UTC (permalink / raw)
To: Nick Clifton; +Cc: rearnsha
nickc@cygnus.com said:
> OK - I am going to check in to the following patch to remove my
> ASM_SPEC definition from arm.h and also to fix a typo in linux-elf.h
> at the same time.
Can you back it out on the branch as well?
Also, you forgot to commit a ChangeLog entry.
R
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
@ 2000-03-29 12:46 Nick Clifton
2000-03-30 1:45 ` Richard Earnshaw
0 siblings, 1 reply; 8+ messages in thread
From: Nick Clifton @ 2000-03-29 12:46 UTC (permalink / raw)
To: rearnsha; +Cc: gcc
Hi Richard,
OK - I am going to check in to the following patch to remove my
ASM_SPEC definition from arm.h and also to fix a typo in linux-elf.h
at the same time.
Cheers
Nick
2000-03-29 Nick Clifton <nickc@cygnus.com>
* config/arm/arm.h: Undo effects of previous delta:
(ASM_SPEC): Do not define.
(SUBTARGET_EXTRA_ASM_SPEC): Do not define.
* config/arm/linux-elf.h: (SUBTARGET_EXTRA_ASM_SPEC) Fix
typo.
Index: arm.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/arm.h,v
retrieving revision 1.67
diff -p -r1.67 arm.h
*** arm.h 2000/03/29 19:15:36 1.67
--- arm.h 2000/03/29 20:44:02
*************** Unrecognized value in TARGET_CPU_DEFAULT
*** 249,271 ****
#ifndef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC ""
#endif
-
- #ifndef SUBTARGET_EXTRA_ASM_SPEC
- #define SUBTARGET_EXTRA_ASM_SPEC
- #endif
-
- #ifndef ASM_SPEC
- #define ASM_SPEC "\
- %{mbig-endian:-EB} \
- %{mcpu=*:-m%*} \
- %{march=*:-m%*} \
- %{mapcs-*:-mapcs-%*} \
- %{matpcs:-matpcs} \
- %{mapcs-float:-mfloat} \
- %{msoft-float:-mno-fpu} \
- %{mthumb-interwork:-mthumb-interwork} \
- " SUBTARGET_EXTRA_ASM_SPEC
- #endif
\f
/* Run-time Target Specification. */
#ifndef TARGET_VERSION
--- 249,254 ----
Index: linux-elf.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/linux-elf.h,v
retrieving revision 1.13
diff -p -r1.13 linux-elf.h
*** linux-elf.h 1999/12/18 13:34:21 1.13
--- linux-elf.h 2000/03/29 20:44:02
*************** Boston, MA 02111-1307, USA. */
*** 36,42 ****
" %{mapcs-26:-m armelf_linux26} %{!mapcs-26:-m armelf_linux} -p"
# endif
# define SUBTARGET_EXTRA_ASM_SPEC \
! " %{mapcs-26:-mapcs-26} %(!mapcs-26:-mapcs-32}"
# define MULTILIB_DEFAULTS \
{ "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
# define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
--- 36,42 ----
" %{mapcs-26:-m armelf_linux26} %{!mapcs-26:-m armelf_linux} -p"
# endif
# define SUBTARGET_EXTRA_ASM_SPEC \
! " %{mapcs-26:-mapcs-26} %{!mapcs-26:-mapcs-32}"
# define MULTILIB_DEFAULTS \
{ "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
# define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
*************** Boston, MA 02111-1307, USA. */
*** 50,56 ****
" %{mapcs-32:-m armelf_linux} %{!mapcs-32:-m armelf_linux26} -p"
# endif
# define SUBTARGET_EXTRA_ASM_SPEC \
! " %{mapcs-32:-mapcs-32} %(!mapcs-32:-mapcs-26}"
# define MULTILIB_DEFAULTS \
{ "mlittle-endian", "mhard-float", "mapcs-26", "mno-thumb-interwork" }
#endif
--- 50,56 ----
" %{mapcs-32:-m armelf_linux} %{!mapcs-32:-m armelf_linux26} -p"
# endif
# define SUBTARGET_EXTRA_ASM_SPEC \
! " %{mapcs-32:-mapcs-32} %{!mapcs-32:-mapcs-26}"
# define MULTILIB_DEFAULTS \
{ "mlittle-endian", "mhard-float", "mapcs-26", "mno-thumb-interwork" }
#endif
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
@ 2000-03-29 12:11 Nick Clifton
0 siblings, 0 replies; 8+ messages in thread
From: Nick Clifton @ 2000-03-29 12:11 UTC (permalink / raw)
To: rearnsha; +Cc: gcc
Hi Richard,
: We might be able to do something with the EXTRA_SPECS stuff, but I'm
: not sure it will be easy, even then.
Ok - I have been persuaded. I will post a patch that undoes my
previous delta in a short while.
Cheers
Nick
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
2000-03-29 11:25 Nick Clifton
@ 2000-03-29 11:41 ` Richard Earnshaw
2000-03-29 11:41 ` Philip Blundell
1 sibling, 0 replies; 8+ messages in thread
From: Richard Earnshaw @ 2000-03-29 11:41 UTC (permalink / raw)
To: Nick Clifton; +Cc: rearnsha
> Hi Richard,
>
> : Your recent change on the branch
> :
> : 2000-03-24 Nick Clifton <nickc@cygnus.com>
> :
> : * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
> : already defined.
> : (ASM_SPEC): Define if not already defined.
> : (ASM_OUTPUT_DEF_FROM_DECLS): Define.
> :
> : breaks builds on a.out assemblers. These assemblers don't support all the
> : flags that this defines, even in the latest builds. The defines need to
> : be moved to the elf (and maybe coff) SUBTARGET_EXTRA_ASM_SPEC defines. We
> : also need to check that there is at least one official release of GAS that
> : supports these before we can add them at all.
> :
> : I don't believe it is acceptable for gcc to require a development version
> : of gas be used.
>
> I agree with that, but I still ike the idea of simplifying the mess of
> header arm files by unifying the definitionsof ASM_SPEC.
I'm not against simplifying it (if that is possible); but the current
definition is wrong for so many cases that we would have to override it in
almost all cases (which probably makes it even harder to maintain).
> Wouldn't it
> just be simpler to suppress the definition of ASM_SPEC if the host
> asssembler is an a.out assembler ? ie something like:
>
>
> #if !defined ASM_SPEC && !defined AOUT
> #define ASM_SPEC "\
> %{mbig-endian:-EB} \
What if the default is big-endian and we want little-endian?
> %{mcpu=*:-m%*} \
What if we have a default cpu selected (eg by configure)? Does configure
for gas support --with-cpu?
> %{march=*:-m%*} \
likewise (but less so -- I don't think this can be selected by configure).
> %{mapcs-*:-mapcs-%*} \
> %{matpcs:-matpcs} \
This hasn't been decided yet....
> %{mapcs-float:-mfloat} \
This is duplicated by the apcs flag above.
> %{msoft-float:-mno-fpu} \
What if soft-float is the default and we want hard-float?
> %{mthumb-interwork:-mthumb-interwork} \
...
> " SUBTARGET_EXTRA_ASM_SPEC
ANSI concatenation not allowed in GCC sources.
> #endif
>
> [I do not know which cpp symbol will be defined by a.out hosts, so I
> guessed in the example above].
>
We might be able to do something with the EXTRA_SPECS stuff, but I'm not
sure it will be easy, even then.
R.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
2000-03-29 11:25 Nick Clifton
2000-03-29 11:41 ` Richard Earnshaw
@ 2000-03-29 11:41 ` Philip Blundell
1 sibling, 0 replies; 8+ messages in thread
From: Philip Blundell @ 2000-03-29 11:41 UTC (permalink / raw)
To: Nick Clifton; +Cc: rearnsha, gcc
>I agree with that, but I still ike the idea of simplifying the mess of
>header arm files by unifying the definitionsof ASM_SPEC. Wouldn't it
>just be simpler to suppress the definition of ASM_SPEC if the host
>asssembler is an a.out assembler ? ie something like:
>
> #if !defined ASM_SPEC && !defined AOUT
This doesn't strike me as especially clean. If you wanted to go down this
road then the thing to do would probably be to stop elf.h et al. from
including aout.h, and keep the latter for definitions that are genuinely a.out
specific.
p.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: recent arm.h change
@ 2000-03-29 11:25 Nick Clifton
2000-03-29 11:41 ` Richard Earnshaw
2000-03-29 11:41 ` Philip Blundell
0 siblings, 2 replies; 8+ messages in thread
From: Nick Clifton @ 2000-03-29 11:25 UTC (permalink / raw)
To: rearnsha; +Cc: gcc
Hi Richard,
: Your recent change on the branch
:
: 2000-03-24 Nick Clifton <nickc@cygnus.com>
:
: * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
: already defined.
: (ASM_SPEC): Define if not already defined.
: (ASM_OUTPUT_DEF_FROM_DECLS): Define.
:
: breaks builds on a.out assemblers. These assemblers don't support all the
: flags that this defines, even in the latest builds. The defines need to
: be moved to the elf (and maybe coff) SUBTARGET_EXTRA_ASM_SPEC defines. We
: also need to check that there is at least one official release of GAS that
: supports these before we can add them at all.
:
: I don't believe it is acceptable for gcc to require a development version
: of gas be used.
I agree with that, but I still ike the idea of simplifying the mess of
header arm files by unifying the definitionsof ASM_SPEC. Wouldn't it
just be simpler to suppress the definition of ASM_SPEC if the host
asssembler is an a.out assembler ? ie something like:
#if !defined ASM_SPEC && !defined AOUT
#define ASM_SPEC "\
%{mbig-endian:-EB} \
%{mcpu=*:-m%*} \
%{march=*:-m%*} \
%{mapcs-*:-mapcs-%*} \
%{matpcs:-matpcs} \
%{mapcs-float:-mfloat} \
%{msoft-float:-mno-fpu} \
%{mthumb-interwork:-mthumb-interwork} \
" SUBTARGET_EXTRA_ASM_SPEC
#endif
[I do not know which cpp symbol will be defined by a.out hosts, so I
guessed in the example above].
Cheers
Nick
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2000-03-30 12:21 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-03-29 11:15 recent arm.h change Richard Earnshaw
2000-03-29 11:25 Nick Clifton
2000-03-29 11:41 ` Richard Earnshaw
2000-03-29 11:41 ` Philip Blundell
2000-03-29 12:11 Nick Clifton
2000-03-29 12:46 Nick Clifton
2000-03-30 1:45 ` Richard Earnshaw
2000-03-30 12:21 Nick Clifton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).