https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
;
 | 
						|
; Copyright (c) 2011, Hewlett-Packard Company. All rights reserved.<BR>
 | 
						|
; 
 | 
						|
; SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
; 
 | 
						|
 | 
						|
  LOCAL &imgstart &filehdrstart &debugdirentryrva &debugtype &debugrva &dwarfsig &baseofcode &baseofdata &elfbase &elfpath &pathoffset
 | 
						|
  ENTRY &imgstart
 | 
						|
 | 
						|
  &imgstart=&imgstart
 | 
						|
  print "PE32 image found at &imgstart"
 | 
						|
 | 
						|
  ; offset from dos hdr to PE file hdr
 | 
						|
  &filehdrstart=&imgstart+Data.Long(c:&imgstart+0x3C)
 | 
						|
 | 
						|
  ; offset to debug dir in PE hdrs
 | 
						|
  &debugdirentryrva=Data.Long(c:&filehdrstart+0xA8)
 | 
						|
  if &debugdirentryrva==0
 | 
						|
  (
 | 
						|
    print "no debug dir for image at &imgstart"
 | 
						|
    enddo
 | 
						|
  )
 | 
						|
  
 | 
						|
  &debugtype=Data.Long(c:&imgstart+&debugdirentryrva+0xc)
 | 
						|
  if (&debugtype!=0xdf)&&(&debugtype!=0x02)
 | 
						|
  (
 | 
						|
    print "debug type is not dwarf for image at &imgstart, it's &debugtype"
 | 
						|
    enddo
 | 
						|
  )
 | 
						|
  
 | 
						|
  &debugrva=Data.Long(c:&imgstart+&debugdirentryrva+0x14)
 | 
						|
  &dwarfsig=Data.Long(c:&imgstart+&debugrva)
 | 
						|
  
 | 
						|
  if &dwarfsig==0x66727764
 | 
						|
  (
 | 
						|
    &pathoffset=0xc
 | 
						|
  )
 | 
						|
  else
 | 
						|
  (
 | 
						|
    if &dwarfsig==0x3031424E
 | 
						|
    (
 | 
						|
      &pathoffset=0x10
 | 
						|
    )
 | 
						|
    else
 | 
						|
    (
 | 
						|
      print "debug signature not found for image at &imgstart, its &dwarfsig"
 | 
						|
      enddo
 | 
						|
    )
 | 
						|
  )
 | 
						|
 | 
						|
  &elfpath=Data.String(c:&imgstart+&debugrva+&pathoffset)
 | 
						|
 | 
						|
  &baseofcode=&imgstart+Data.Long(c:&filehdrstart+0x28)
 | 
						|
  &baseofdata=&imgstart+Data.Long(c:&filehdrstart+0x2c)
 | 
						|
 
 | 
						|
  if (&baseofcode<&baseofdata)&&(&baseofcode!=0)
 | 
						|
  (
 | 
						|
    &elfbase=&baseofcode;
 | 
						|
  )
 | 
						|
  else
 | 
						|
  (
 | 
						|
    &elfbase=&baseofdata;
 | 
						|
  )
 | 
						|
 | 
						|
  print "found path &elfpath"
 | 
						|
        ON ERROR GOSUB
 | 
						|
              return
 | 
						|
  data.load.elf &elfpath &elfbase /NOCODE /NOCLEAR
 | 
						|
        ON error
 | 
						|
 | 
						|
enddo
 |