[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 25/34] build_id: Provide ld-embedded build-ids



On Wed, Mar 16, 2016 at 06:34:24PM +0000, Julien Grall wrote:
> Hi Konrad,
> 
> On 15/03/2016 17:56, Konrad Rzeszutek Wilk wrote:
> >diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> >index 9909595..187ef73 100644
> >--- a/xen/arch/arm/xen.lds.S
> >+++ b/xen/arch/arm/xen.lds.S
> >@@ -22,6 +22,9 @@ OUTPUT_ARCH(FORMAT)
> >  PHDRS
> >  {
> >    text PT_LOAD /* XXX should be AT ( XEN_PHYS_START ) */ ;
> >+#if defined(BUILD_ID)
> >+  note PT_NOTE ;
> >+#endif
> >  }
> >  SECTIONS
> >  {
> >@@ -50,16 +53,21 @@ SECTIONS
> >         __stop_bug_frames_2 = .;
> >         *(.rodata)
> >         *(.rodata.*)
> >-
> >-#ifdef LOCK_PROFILE
> >-       . = ALIGN(POINTER_ALIGN);
> >-       __lock_profile_start = .;
> >-       *(.lockprofile.data)
> >-       __lock_profile_end = .;
> 
> I think this is a spurious change.

Indeed! git mergetool and git rerere really did a number on me.
> 
> 
> >+#if !defined(BUILD_ID)
> >+        _erodata = .;          /* End of read-only data */
> >  #endif
> 
> Is it possible to move _erodata out of the section?

Should be. _end does that.

> 
> Something like:
> 
> .ALIGN(PAGE_SIZE);
> _srodata = .; /* Read-only data */
> .rodata : {
> [...]
> } :text
> 
> #if defined(BUILD_ID)
> .note : {
> } :text
> #endif
> 
> _erodata = .; /* End of read-only data */

Let me try that.

> 
> >+  } :text
> >
> >+#if defined(BUILD_ID)
> 
> No alignment required?

None needed. Can do byte granularity.
> 
> >+  .note : {
> >+       __note_gnu_build_id_start = .;
> >+       *(.note.gnu.build-id)
> >+       __note_gnu_build_id_end = .;
> >+       *(.note)
> >+       *(.note.*)
> >          _erodata = .;          /* End of read-only data */
> >    } :text
> >+#endif
> >
> >    .data : {                    /* Data */
> >         . = ALIGN(PAGE_SIZE);
> 
> Regards,
> 
> -- 
> Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.