This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


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

Re: The Linux binutils vs. the FSF binutils on Linux/mips


On Fri, Sep 14, 2001 at 03:49:11PM -0400, Daniel Jacobowitz wrote:
> On Fri, Sep 14, 2001 at 12:36:42PM -0700, H . J . Lu wrote:
> > FYI, the Linux binutils contains a 64bit MIPS ELF patch which doesn't
> > exist in the FSF binutils. At first, I thought this 64bit MIPS ELF
> > patch shouldn't affect the 32bit MIPS ELF. But for some reason, I
> > cannot get a stable 32bit Linux/mips kernel without this 64bit MIPS ELF
> > patch. I compared kernels generated by 2 linkers from the same input.
> > They are identical. Then I compared the object files generated from
> > 2 assemblers. Some of them are different. Here is one example:
> 
> Are there more interesting differences elsewhere?  That one's a no-op

I don't know. Quite a few object files are different. I am enclosing
another one here.

> unless I'm completely misunderstanding delay slots, although the code
> in the - side is a little better.  Unless you're hitting a hardware

The - side is generated by the Linux binutils, which generates the
working kernel. Well, I thought there should be no differnce in object
files.


H.J.
---
--- /tmp/2	Fri Sep 14 12:21:49 2001
+++ /tmp/1	Fri Sep 14 12:21:49 2001
@@ -1,5 +1,5 @@
 
-../linux-mips-0914/./fs/proc/proc_tty.o:     file format elf32-tradlittlemips
+./fs/proc/proc_tty.o:     file format elf32-tradlittlemips
 
 Disassembly of section .text:
 
@@ -305,54 +305,55 @@ Disassembly of section .text:
  3d0:	54400005 	bnezl	v0,3e8 <proc_tty_register_driver+0x2c>
  3d4:	8e040004 	lw	a0,4(s0)
  3d8:	8e0200b4 	lw	v0,180(s0)
- 3dc:	10400013 	beqz	v0,42c <proc_tty_register_driver+0x70>
+ 3dc:	10400014 	beqz	v0,430 <proc_tty_register_driver+0x74>
  3e0:	8fbf0014 	lw	ra,20(sp)
  3e4:	8e040004 	lw	a0,4(s0)
- 3e8:	10800010 	beqz	a0,42c <proc_tty_register_driver+0x70>
+ 3e8:	10800011 	beqz	a0,430 <proc_tty_register_driver+0x74>
  3ec:	8fbf0014 	lw	ra,20(sp)
  3f0:	8e02004c 	lw	v0,76(s0)
- 3f4:	1440000d 	bnez	v0,42c <proc_tty_register_driver+0x70>
+ 3f4:	1440000e 	bnez	v0,430 <proc_tty_register_driver+0x74>
  3f8:	00002821 	move	a1,zero
  3fc:	3c060000 	lui	a2,0x0
 			3fc: R_MIPS_HI16	.bss
- 400:	0c000000 	jal	0 <tty_drivers_read_proc>
-			400: R_MIPS_26	create_proc_entry
- 404:	8cc60004 	lw	a2,4(a2)
-			404: R_MIPS_LO16	.bss
- 408:	00402021 	move	a0,v0
- 40c:	10800007 	beqz	a0,42c <proc_tty_register_driver+0x70>
- 410:	8fbf0014 	lw	ra,20(sp)
- 414:	8e0200b0 	lw	v0,176(s0)
- 418:	ac82003c 	sw	v0,60(a0)
- 41c:	8e0300b4 	lw	v1,180(s0)
- 420:	ac900038 	sw	s0,56(a0)
- 424:	ac830040 	sw	v1,64(a0)
- 428:	ae04004c 	sw	a0,76(s0)
- 42c:	8fb00010 	lw	s0,16(sp)
- 430:	03e00008 	jr	ra
- 434:	27bd0018 	addiu	sp,sp,24
+ 400:	8cc60004 	lw	a2,4(a2)
+			400: R_MIPS_LO16	.bss
+ 404:	0c000000 	jal	0 <tty_drivers_read_proc>
+			404: R_MIPS_26	create_proc_entry
+ 408:	00000000 	nop
+ 40c:	00402021 	move	a0,v0
+ 410:	10800007 	beqz	a0,430 <proc_tty_register_driver+0x74>
+ 414:	8fbf0014 	lw	ra,20(sp)
+ 418:	8e0200b0 	lw	v0,176(s0)
+ 41c:	ac82003c 	sw	v0,60(a0)
+ 420:	8e0300b4 	lw	v1,180(s0)
+ 424:	ac900038 	sw	s0,56(a0)
+ 428:	ac830040 	sw	v1,64(a0)
+ 42c:	ae04004c 	sw	a0,76(s0)
+ 430:	8fb00010 	lw	s0,16(sp)
+ 434:	03e00008 	jr	ra
+ 438:	27bd0018 	addiu	sp,sp,24
 
-00000438 <proc_tty_unregister_driver>:
- 438:	27bdffe8 	addiu	sp,sp,-24
- 43c:	afb00010 	sw	s0,16(sp)
- 440:	afbf0014 	sw	ra,20(sp)
- 444:	00808021 	move	s0,a0
- 448:	8e02004c 	lw	v0,76(s0)
- 44c:	50400007 	beqzl	v0,46c <proc_tty_unregister_driver+0x34>
- 450:	8fbf0014 	lw	ra,20(sp)
- 454:	3c050000 	lui	a1,0x0
-			454: R_MIPS_HI16	.bss
- 458:	8ca50004 	lw	a1,4(a1)
-			458: R_MIPS_LO16	.bss
- 45c:	0c000000 	jal	0 <tty_drivers_read_proc>
-			45c: R_MIPS_26	remove_proc_entry
- 460:	8e040004 	lw	a0,4(s0)
- 464:	ae00004c 	sw	zero,76(s0)
- 468:	8fbf0014 	lw	ra,20(sp)
- 46c:	8fb00010 	lw	s0,16(sp)
- 470:	03e00008 	jr	ra
- 474:	27bd0018 	addiu	sp,sp,24
-	...
+0000043c <proc_tty_unregister_driver>:
+ 43c:	27bdffe8 	addiu	sp,sp,-24
+ 440:	afb00010 	sw	s0,16(sp)
+ 444:	afbf0014 	sw	ra,20(sp)
+ 448:	00808021 	move	s0,a0
+ 44c:	8e02004c 	lw	v0,76(s0)
+ 450:	50400007 	beqzl	v0,470 <proc_tty_unregister_driver+0x34>
+ 454:	8fbf0014 	lw	ra,20(sp)
+ 458:	3c050000 	lui	a1,0x0
+			458: R_MIPS_HI16	.bss
+ 45c:	8ca50004 	lw	a1,4(a1)
+			45c: R_MIPS_LO16	.bss
+ 460:	0c000000 	jal	0 <tty_drivers_read_proc>
+			460: R_MIPS_26	remove_proc_entry
+ 464:	8e040004 	lw	a0,4(s0)
+ 468:	ae00004c 	sw	zero,76(s0)
+ 46c:	8fbf0014 	lw	ra,20(sp)
+ 470:	8fb00010 	lw	s0,16(sp)
+ 474:	03e00008 	jr	ra
+ 478:	27bd0018 	addiu	sp,sp,24
+ 47c:	00000000 	nop
 Disassembly of section .text.init:
 
 00000000 <proc_tty_init>:


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