public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [ada] Restore Ada bootstrap on Solaris 8, 9/x86
@ 2011-09-23 12:54 Rainer Orth
  2011-09-23 13:45 ` Arnaud Charlet
  0 siblings, 1 reply; 3+ messages in thread
From: Rainer Orth @ 2011-09-23 12:54 UTC (permalink / raw)
  To: gcc-patches; +Cc: Arnaud Charlet, Uros Bizjak

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

Mainline Ada bootstrap is currently broken on Solaris 8 and 9/x86 with
Sun as:

Assembler: a-strunb.adb
	"/var/tmp//cc6ZxWWa.s", line 2395 : Syntax error
	"/var/tmp//cc6ZxWWa.s", line 2591 : Syntax error
make[7]: *** [a-strunb.o] Error 1

The problem is that s-atocou-x86.adb uses lock incl resp. lock decl,
where older Sun as requires lock; incl.  This is exactly what %; was
introduced for, which is already used in i386/sync.md.

The following patch uses it and allowed i386-pc-solaris2.[89] bootstraps
to complete.  Testing is currently running, and I'll also bootstrap with
gas instead of as once that's finished.

Ok for mainline if those tests pass?

Thanks.
        Rainer


2011-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* s-atocou-x86.adb (Decrement): Use %;.
	(Increment): Likewise.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: sol8x86-libgnat-lock.patch --]
[-- Type: text/x-patch, Size: 1017 bytes --]

# HG changeset patch
# Parent 66b8372f5970a73e9957914fae8bfbeced71a512
Restore Ada bootstrap on Solaris 8, 9/x86

diff --git a/gcc/ada/s-atocou-x86.adb b/gcc/ada/s-atocou-x86.adb
--- a/gcc/ada/s-atocou-x86.adb
+++ b/gcc/ada/s-atocou-x86.adb
@@ -50,7 +50,7 @@ package body System.Atomic_Counters is
    begin
       System.Machine_Code.Asm
         (Template =>
-           "lock decl" & ASCII.HT & "%0" & ASCII.LF & ASCII.HT
+           "lock%; decl" & ASCII.HT & "%0" & ASCII.LF & ASCII.HT
              & "sete %1",
          Outputs  =>
            (Unsigned_32'Asm_Output ("=m", Item.Value),
@@ -68,7 +68,7 @@ package body System.Atomic_Counters is
    procedure Increment (Item : in out Atomic_Counter) is
    begin
       System.Machine_Code.Asm
-        (Template => "lock incl" & ASCII.HT & "%0",
+        (Template => "lock%; incl" & ASCII.HT & "%0",
          Outputs  => Unsigned_32'Asm_Output ("=m", Item.Value),
          Inputs   => Unsigned_32'Asm_Input ("m", Item.Value),
          Volatile => True);

[-- Attachment #3: Type: text/plain, Size: 143 bytes --]


-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

* Re: [ada] Restore Ada bootstrap on Solaris 8, 9/x86
  2011-09-23 12:54 [ada] Restore Ada bootstrap on Solaris 8, 9/x86 Rainer Orth
@ 2011-09-23 13:45 ` Arnaud Charlet
  2011-09-26 12:27   ` Rainer Orth
  0 siblings, 1 reply; 3+ messages in thread
From: Arnaud Charlet @ 2011-09-23 13:45 UTC (permalink / raw)
  To: Rainer Orth, Eric Botcazou; +Cc: gcc-patches, Uros Bizjak

> Mainline Ada bootstrap is currently broken on Solaris 8 and 9/x86 with
> Sun as:
> 
> Assembler: a-strunb.adb
> 	"/var/tmp//cc6ZxWWa.s", line 2395 : Syntax error
> 	"/var/tmp//cc6ZxWWa.s", line 2591 : Syntax error
> make[7]: *** [a-strunb.o] Error 1
> 
> The problem is that s-atocou-x86.adb uses lock incl resp. lock decl,
> where older Sun as requires lock; incl.  This is exactly what %; was
> introduced for, which is already used in i386/sync.md.
> 
> The following patch uses it and allowed i386-pc-solaris2.[89] bootstraps
> to complete.  Testing is currently running, and I'll also bootstrap with
> gas instead of as once that's finished.
> 
> Ok for mainline if those tests pass?

Assuming it does not break x86 linux, OK.

Arno

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

* Re: [ada] Restore Ada bootstrap on Solaris 8, 9/x86
  2011-09-23 13:45 ` Arnaud Charlet
@ 2011-09-26 12:27   ` Rainer Orth
  0 siblings, 0 replies; 3+ messages in thread
From: Rainer Orth @ 2011-09-26 12:27 UTC (permalink / raw)
  To: Arnaud Charlet; +Cc: Eric Botcazou, gcc-patches, Uros Bizjak

Arnaud Charlet <charlet@adacore.com> writes:

>> Mainline Ada bootstrap is currently broken on Solaris 8 and 9/x86 with
>> Sun as:
>> 
>> Assembler: a-strunb.adb
>> 	"/var/tmp//cc6ZxWWa.s", line 2395 : Syntax error
>> 	"/var/tmp//cc6ZxWWa.s", line 2591 : Syntax error
>> make[7]: *** [a-strunb.o] Error 1
>> 
>> The problem is that s-atocou-x86.adb uses lock incl resp. lock decl,
>> where older Sun as requires lock; incl.  This is exactly what %; was
>> introduced for, which is already used in i386/sync.md.
>> 
>> The following patch uses it and allowed i386-pc-solaris2.[89] bootstraps
>> to complete.  Testing is currently running, and I'll also bootstrap with
>> gas instead of as once that's finished.
>> 
>> Ok for mainline if those tests pass?
>
> Assuming it does not break x86 linux, OK.

An x86_64-unknown-linux-gnu bootstrap finished without regressions, so
I've installed the patch.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

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

end of thread, other threads:[~2011-09-26 10:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-23 12:54 [ada] Restore Ada bootstrap on Solaris 8, 9/x86 Rainer Orth
2011-09-23 13:45 ` Arnaud Charlet
2011-09-26 12:27   ` Rainer Orth

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).