This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

Broken repository [Re: [patch] rl78 user-relocs in .word]


On Tue, 29 Jan 2013 23:18:27 +0100, DJ Delorie wrote:
> 
> Applied...
> 
> 	* config/tc-rl78.c (rl78_cons_fix_new): Handle user-specified
> 	relocs in .word/.etc statements.
[...]
> --- gas/config/tc-rl78.c	3 Oct 2012 20:48:13 -0000	1.4
> +++ gas/config/tc-rl78.c	29 Jan 2013 22:16:45 -0000
[...]

This check-in
	http://sourceware.org/ml/binutils-cvs/2013-01/msg00185.html

made an accidental modification of bfd/elf32-rx.c
	http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-rx.c.diff?cvsroot=src&r1=1.22&r2=1.23

so that with --enable-targets=all src cannot be built now.

I have not undone it, IMO it does not need any ChangeLog entry as the mistaken
commit did not have one either.


Jan


http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-rx.c.diff?cvsroot=src&r1=1.22&r2=1.23

--- src/bfd/elf32-rx.c	2012/11/20 01:40:00	1.22
+++ src/bfd/elf32-rx.c	2013/01/29 22:17:52	1.23
@@ -3098,9 +3098,15 @@
 	{
 	  Elf_Internal_Shdr *sec = elf_tdata(abfd)->elf_sect_ptr[u];
 
+<<<<<<< elf32-rx.c
+	  if (phdr[i].p_offset <= (bfd_vma) sec->sh_offset
+	      && (bfd_vma)sec->sh_offset <= phdr[i].p_offset + (phdr[i].p_filesz - 1)
+	      && sec->sh_size > 0)
+=======
 	  if (phdr[i].p_filesz
 	      && phdr[i].p_offset <= (bfd_vma) sec->sh_offset
 	      && (bfd_vma)sec->sh_offset <= phdr[i].p_offset + (phdr[i].p_filesz - 1))
+>>>>>>> 1.20
 	    {
 	      /* Found one!  The difference between the two addresses,
 		 plus the difference between the two file offsets, is
@@ -3113,7 +3119,7 @@
 		 The correct LMA for the section is fffc0140 + (2050-2010).
 	      */
 
-	      phdr[i].p_vaddr = sec->sh_addr + (sec->sh_offset - phdr[i].p_offset);
+	      phdr[i].p_vaddr = sec->sh_addr - (sec->sh_offset - phdr[i].p_offset);
 	      break;
 	    }
 	}
@@ -3123,9 +3129,15 @@
       bsec = abfd->sections;
       while (bsec)
 	{
+<<<<<<< elf32-rx.c
+	  if (bsec->flags & (SEC_LOAD | SEC_ALLOC)
+	      && phdr[i].p_offset <= (bfd_vma) bsec->filepos
+	      && (bfd_vma) bsec->filepos <= phdr[i].p_offset + (phdr[i].p_filesz - 1))
+=======
 	  if (phdr[i].p_filesz
 	      && phdr[i].p_vaddr <= bsec->vma
 	      && bsec->vma <= phdr[i].p_vaddr + (phdr[i].p_filesz - 1))
+>>>>>>> 1.20
 	    {
 	      bsec->lma = phdr[i].p_paddr + (bsec->vma - phdr[i].p_vaddr);
 	    }


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