This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Porting gcc to HP Nonstop Ux


Hi Jim,

Thanks very much for the info. I used the '-S' assembly flag and
generated
the intermediate assembly output. I then compared the outputs from
stage2 and stage3
and found that both were same. I have attached the same for your
reference(from hash.c file,
hash.s is stage3 output and stage2_hash.s is stage2's output).

Tom was the developer who ported gcc2.95 on our platforms and I am
trying to incorporate
the changes that he made, whichever may be applicable to gcc3.1.1

In the porting of gcc2.9.5, the same problem that I am facing now was
also faced. To overcome
the same, I observe that we perform a tail on the object files(from
gcc/Makefile.in) and then
do a 'cmp'. Instead of doing tail, for gcc2.95, dis(disassembly) was
performed and then the 
outputs were compared. I feel that the same approach can be incorporated
for gc3.1.1 build since mips by default is writing the temporary
assembler filename to the object file. I tried looking for some options
to avoid the same but to no avail.

Please let me know your opinion on using the disassembler output for
comparison on our platforms(I tested the same today on hash.o and it
seemed to work. I have attached the same for your reference.)

Thanks very much.
With Regards-Praveen
------------------------------------------------------------------------
----------------
Praveen Khanna                       Tel:(91)-(80)-5732296(2020)
Wipro Technologies,                       98442-63812
#26,Hosur Main Road,               e-mail:praveen.khanna@wipro.com      
Bommanhalli,                  
Bangalore-68
"Kindness is in our power, even when fondness is not. 
-Samuel Johnson, lexicographer"
------------------------------------------------------------------------
----------------


-----Original Message-----
From: Jim Wilson [mailto:wilson@tuliptree.org] 
Sent: Friday, May 02, 2003 10:37 PM
To: praveen
Cc: 'Neil Booth'; 'praveen'; gcc-bugs@gcc.gnu.org
Subject: RE: Porting gcc to HP Nonstop Ux


On Fri, 2003-05-02 at 10:41, praveen wrote:
> I got the following message at the end of stage3:
> Bootstrap comparison failure!
> alias.o differs

>From your nm diff, it looks like the assembler is putting temporary file
names in the symbol table, and this is causing the diff to fail.  You
want to find a way to stop this.  Compile a file with -S and look at the
assembly output carefully.  If you are emitting the temp file name into
the output, perhaps in a .file directive, then that is a problem that
should be fixed.  If the assembler is doing this on its own, then
perhaps changing the assembler options will stop this.  If you aren't
emitting a .file directive, then perhaps that is the problem.

nm is sufficient for checking for object file differences.  Hopefully
when you did the bootstrap, you piped the make output into a file.  Pick
one of the files that is different, preferably a small one.  Pull the
stage1/xgcc and stage2/xgcc build commands for that file out of the make
output, and add -S options.  Then compare the assembly output files for
differences.

Jim


Attachment: hash.s
Description: Binary data

Attachment: stage2_hash.s
Description: Binary data

Attachment: stage2_hash.dis
Description: Binary data

Attachment: stage3_hash.dis
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]