Gary reports the GCC 10 will emit calls to atomics intrinsics routines unless -mno-outline-atomics is specified. This means GCC-10 introduces new intrinsics, and even though it would be possible to work around this by specifying the command line option, this would require a new GCC10 toolchain profile to be created, which we prefer to avoid. So instead, add the new intrinsics to our library so they are provided when necessary. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> Tested-by: Gary Lin <glin@suse.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
#/** @file
 | 
						|
#  Base Library implementation.
 | 
						|
#
 | 
						|
#  Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
 | 
						|
#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.
 | 
						|
#
 | 
						|
#  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
#
 | 
						|
#
 | 
						|
#**/
 | 
						|
 | 
						|
[Defines]
 | 
						|
  INF_VERSION                    = 0x00010005
 | 
						|
  BASE_NAME                      = CompilerIntrinsicsLib
 | 
						|
  FILE_GUID                      = 855274FA-3575-4C20-9709-C031DC5589FA
 | 
						|
  MODULE_TYPE                    = BASE
 | 
						|
  VERSION_STRING                 = 1.0
 | 
						|
  LIBRARY_CLASS                  = CompilerIntrinsicsLib
 | 
						|
 | 
						|
[Sources]
 | 
						|
  memcpy.c             | RVCT
 | 
						|
  memset.c             | RVCT
 | 
						|
 | 
						|
  memcpy.c             | GCC
 | 
						|
  memset.c             | GCC
 | 
						|
 | 
						|
  memcpy_ms.c          | MSFT
 | 
						|
  memset_ms.c          | MSFT
 | 
						|
  memcmp_ms.c          | MSFT
 | 
						|
  memmove_ms.c         | MSFT
 | 
						|
 | 
						|
[Sources.ARM]
 | 
						|
  Arm/mullu.asm        | RVCT
 | 
						|
  Arm/switch.asm       | RVCT
 | 
						|
  Arm/llsr.asm         | RVCT
 | 
						|
  Arm/memmove.asm      | RVCT
 | 
						|
  Arm/uread.asm        | RVCT
 | 
						|
  Arm/uwrite.asm       | RVCT
 | 
						|
  Arm/lasr.asm         | RVCT
 | 
						|
  Arm/llsl.asm         | RVCT
 | 
						|
  Arm/div.asm          | RVCT
 | 
						|
  Arm/uldiv.asm        | RVCT
 | 
						|
  Arm/ldivmod.asm      | RVCT
 | 
						|
 | 
						|
  Arm/ashrdi3.S        | GCC
 | 
						|
  Arm/ashldi3.S        | GCC
 | 
						|
  Arm/div.S            | GCC
 | 
						|
  Arm/divdi3.S         | GCC
 | 
						|
  Arm/divsi3.S         | GCC
 | 
						|
  Arm/lshrdi3.S        | GCC
 | 
						|
  Arm/memmove.S        | GCC
 | 
						|
  Arm/modsi3.S         | GCC
 | 
						|
  Arm/moddi3.S         | GCC
 | 
						|
  Arm/muldi3.S         | GCC
 | 
						|
  Arm/mullu.S          | GCC
 | 
						|
  Arm/udivsi3.S        | GCC
 | 
						|
  Arm/umodsi3.S        | GCC
 | 
						|
  Arm/udivdi3.S        | GCC
 | 
						|
  Arm/umoddi3.S        | GCC
 | 
						|
  Arm/udivmoddi4.S     | GCC
 | 
						|
  Arm/clzsi2.S         | GCC
 | 
						|
  Arm/ctzsi2.S         | GCC
 | 
						|
  Arm/ucmpdi2.S        | GCC
 | 
						|
  Arm/switch8.S        | GCC
 | 
						|
  Arm/switchu8.S       | GCC
 | 
						|
  Arm/switch16.S       | GCC
 | 
						|
  Arm/switch32.S       | GCC
 | 
						|
  Arm/sourcery.S       | GCC
 | 
						|
  Arm/uldiv.S          | GCC
 | 
						|
  Arm/ldivmod.S        | GCC
 | 
						|
  Arm/lasr.S           | GCC
 | 
						|
  Arm/llsr.S           | GCC
 | 
						|
  Arm/llsl.S           | GCC
 | 
						|
  Arm/uread.S          | GCC
 | 
						|
  Arm/uwrite.S         | GCC
 | 
						|
 | 
						|
  Arm/div.asm          | MSFT
 | 
						|
  Arm/uldiv.asm        | MSFT
 | 
						|
  Arm/ldivmod.asm      | MSFT
 | 
						|
  Arm/llsr.asm         | MSFT
 | 
						|
 | 
						|
[Sources.AARCH64]
 | 
						|
  AArch64/Atomics.S    | GCC
 | 
						|
 | 
						|
[Packages]
 | 
						|
  MdePkg/MdePkg.dec
 | 
						|
  ArmPkg/ArmPkg.dec
 | 
						|
 | 
						|
[BuildOptions]
 | 
						|
  MSFT:*_*_*_CC_FLAGS = /GL-
 | 
						|
  MSFT:*_*_ARM_ASM_FLAGS = /oldit
 |