GCC 4.9 may use 64-byte (0x40) alignment for data sections. Therefore we use a different link script for GCC 4.9. The only difference from the gcc4.4-ld-script is the alignment for data sections. When using the GCC48 toolchain with GCC 4.9, this error would be encountered by GenFw: > GenFw: ERROR 3000: Invalid > Unsupported section alignment. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Yingke Liu <yingke.d.liu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15697 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			45 lines
		
	
	
		
			752 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			752 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */
 | 
						|
SECTIONS
 | 
						|
{
 | 
						|
  /* . = 0 + SIZEOF_HEADERS; */
 | 
						|
  . = 0x280;
 | 
						|
  .text ALIGN(0x20) :
 | 
						|
  {
 | 
						|
    *(.text .stub .text.* .gnu.linkonce.t.*)
 | 
						|
    . = ALIGN(0x20);
 | 
						|
  } =0x90909090
 | 
						|
  .data ALIGN(0x40) :
 | 
						|
  {
 | 
						|
    *(
 | 
						|
      .rodata .rodata.* .gnu.linkonce.r.*
 | 
						|
      .data .data.* .gnu.linkonce.d.*
 | 
						|
      .bss .bss.*
 | 
						|
      *COM*
 | 
						|
    )
 | 
						|
    . = ALIGN(0x20);
 | 
						|
  }
 | 
						|
  .eh_frame ALIGN(0x20) :
 | 
						|
  {
 | 
						|
    KEEP (*(.eh_frame))
 | 
						|
  }
 | 
						|
  .got ALIGN(0x20) :
 | 
						|
  {
 | 
						|
    *(.got .got.*)
 | 
						|
    . = ALIGN(0x20);
 | 
						|
  }
 | 
						|
  .rela ALIGN(0x20) :
 | 
						|
  {
 | 
						|
    *(.rela .rela.*)
 | 
						|
  }
 | 
						|
  /DISCARD/ : {
 | 
						|
    *(.note.GNU-stack) *(.gnu_debuglink)
 | 
						|
    *(.interp)
 | 
						|
    *(.dynsym)
 | 
						|
    *(.dynstr)
 | 
						|
    *(.dynamic)
 | 
						|
    *(.hash)
 | 
						|
    *(.comment)
 | 
						|
  }
 | 
						|
}
 | 
						|
 |