From a8fe46c0f5e2449cdc1a5978ec2cd95418f63a24 Mon Sep 17 00:00:00 2001 From: nickysn Date: Sat, 25 Apr 2020 12:59:25 +0000 Subject: [PATCH] + introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the output label to that length git-svn-id: branches/z80@45066 - --- compiler/aarch64/agcpugas.pas | 3 +++ compiler/aasmbase.pas | 14 +++++++++++++- compiler/arm/agarmgas.pas | 3 +++ compiler/arm/cpuelf.pas | 1 + compiler/avr/agavrgas.pas | 1 + compiler/i386/cpuelf.pas | 1 + compiler/jvm/agjasmin.pas | 1 + compiler/llvm/agllvm.pas | 2 ++ compiler/m68k/ag68kgas.pas | 2 ++ compiler/m68k/ag68kvasm.pas | 1 + compiler/mips/cpugas.pas | 2 ++ compiler/ogcoff.pas | 6 ++++++ compiler/ogmacho.pas | 1 + compiler/ognlm.pas | 1 + compiler/ogomf.pas | 1 + compiler/powerpc/agppcmpw.pas | 1 + compiler/powerpc/agppcvasm.pas | 1 + compiler/ppcgen/agppcgas.pas | 6 ++++++ compiler/riscv/agrvgas.pas | 1 + compiler/sparc/cpuelf.pas | 1 + compiler/sparc64/cpugas.pas | 2 ++ compiler/sparcgen/cpugas.pas | 4 ++++ compiler/systems.pas | 1 + compiler/x86/agx86att.pas | 13 +++++++++++++ compiler/x86/agx86int.pas | 4 ++++ compiler/x86/agx86nsm.pas | 15 +++++++++++++++ compiler/x86_64/cpuelf.pas | 1 + compiler/xtensa/agcpugas.pas | 1 + compiler/z80/agsdasz80.pas | 1 + compiler/z80/agz80asm.pas | 1 + 30 files changed, 92 insertions(+), 1 deletion(-) diff --git a/compiler/aarch64/agcpugas.pas b/compiler/aarch64/agcpugas.pas index 131793c709..2702e2a26e 100644 --- a/compiler/aarch64/agcpugas.pas +++ b/compiler/aarch64/agcpugas.pas @@ -789,6 +789,7 @@ unit agcpugas; supported_targets : [system_aarch64_linux,system_aarch64_android]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '// '; dollarsign: '$'; ); @@ -802,6 +803,7 @@ unit agcpugas; supported_targets : [system_aarch64_darwin]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -815,6 +817,7 @@ unit agcpugas; supported_targets : [system_aarch64_win64]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '// '; dollarsign: '$'; ); diff --git a/compiler/aasmbase.pas b/compiler/aasmbase.pas index 39f5c1542a..085baf4d3d 100644 --- a/compiler/aasmbase.pas +++ b/compiler/aasmbase.pas @@ -257,7 +257,7 @@ interface implementation uses - verbose; + verbose,fpccrc; function create_smartlink_sections:boolean;inline; @@ -292,12 +292,24 @@ implementation var i : longint; rchar: char; + crc: Cardinal; + charstoremove: integer; begin Result:=s; rchar:=target_asm.dollarsign; for i:=1 to Length(Result) do if Result[i]='$' then Result[i]:=rchar; + if (target_asm.labelmaxlen<>-1) and (Length(Result)>target_asm.labelmaxlen) then + begin + crc:=0; + crc:=UpdateCrc32(crc,Result[1],Length(Result)); + charstoremove:=Length(Result)-target_asm.labelmaxlen+13; + Delete(Result,(Length(Result)-charstoremove) div 2,charstoremove); + Result:='_'+target_asm.dollarsign+'CRC'+hexstr(crc,8)+Result; + if Length(Result)>target_asm.labelmaxlen then + Internalerror(2020042501); + end; end; diff --git a/compiler/arm/agarmgas.pas b/compiler/arm/agarmgas.pas index e51b715f41..175d1ef5e5 100644 --- a/compiler/arm/agarmgas.pas +++ b/compiler/arm/agarmgas.pas @@ -445,6 +445,7 @@ unit agarmgas; system_arm_embedded,system_arm_symbian,system_arm_android,system_arm_aros,system_arm_freertos]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -458,6 +459,7 @@ unit agarmgas; supported_targets : [system_arm_darwin]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_stabs_use_function_absolute_addresses]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -472,6 +474,7 @@ unit agarmgas; supported_targets : [system_arm_darwin]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/arm/cpuelf.pas b/compiler/arm/cpuelf.pas index 311b5144f0..13519888b2 100644 --- a/compiler/arm/cpuelf.pas +++ b/compiler/arm/cpuelf.pas @@ -977,6 +977,7 @@ implementation system_arm_aros,system_arm_freertos]; flags : [af_outputbinary,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); diff --git a/compiler/avr/agavrgas.pas b/compiler/avr/agavrgas.pas index 89d807cbbc..e19d616214 100644 --- a/compiler/avr/agavrgas.pas +++ b/compiler/avr/agavrgas.pas @@ -216,6 +216,7 @@ unit agavrgas; supported_targets : [system_avr_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: 's'; ); diff --git a/compiler/i386/cpuelf.pas b/compiler/i386/cpuelf.pas index ab5a60124d..4b68296956 100644 --- a/compiler/i386/cpuelf.pas +++ b/compiler/i386/cpuelf.pas @@ -524,6 +524,7 @@ implementation system_i386_android,system_i386_aros]; flags : [af_outputbinary,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); diff --git a/compiler/jvm/agjasmin.pas b/compiler/jvm/agjasmin.pas index 12b51ad688..ca039256bc 100644 --- a/compiler/jvm/agjasmin.pas +++ b/compiler/jvm/agjasmin.pas @@ -1237,6 +1237,7 @@ implementation supported_targets : [system_jvm_java32,system_jvm_android32]; flags : []; labelprefix : 'L'; + labelmaxlen : -1; comment : ' ; '; dollarsign : '$'; ); diff --git a/compiler/llvm/agllvm.pas b/compiler/llvm/agllvm.pas index 82ed6d9919..77671374a0 100644 --- a/compiler/llvm/agllvm.pas +++ b/compiler/llvm/agllvm.pas @@ -1737,6 +1737,7 @@ implementation supported_targets : [system_x86_64_linux,system_x86_64_darwin,system_aarch64_linux,system_arm_linux]; flags : [af_smartlink_sections,af_llvm]; labelprefix : 'L'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1751,6 +1752,7 @@ implementation supported_targets : [system_x86_64_linux,system_x86_64_darwin,system_aarch64_linux,system_arm_linux]; flags : [af_smartlink_sections,af_llvm]; labelprefix : 'L'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); diff --git a/compiler/m68k/ag68kgas.pas b/compiler/m68k/ag68kgas.pas index e5d783e99d..845e8833cf 100644 --- a/compiler/m68k/ag68kgas.pas +++ b/compiler/m68k/ag68kgas.pas @@ -355,6 +355,7 @@ interface supported_targets : [system_m68k_macos,system_m68k_linux,system_m68k_PalmOS,system_m68k_netbsd,system_m68k_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -368,6 +369,7 @@ interface supported_targets : [system_m68k_Amiga,system_m68k_Atari]; flags : [af_needar]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/m68k/ag68kvasm.pas b/compiler/m68k/ag68kvasm.pas index 8b4c6b8c7c..50421262d0 100644 --- a/compiler/m68k/ag68kvasm.pas +++ b/compiler/m68k/ag68kvasm.pas @@ -136,6 +136,7 @@ unit ag68kvasm; supported_targets : [system_m68k_amiga,system_m68k_atari]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/mips/cpugas.pas b/compiler/mips/cpugas.pas index 9798f814ea..cb5bf22930 100644 --- a/compiler/mips/cpugas.pas +++ b/compiler/mips/cpugas.pas @@ -263,6 +263,7 @@ unit cpugas; supported_targets: [system_mipsel_linux,system_mipsel_android,system_mipsel_embedded]; flags: [ af_needar, af_smartlink_sections]; labelprefix: '.L'; + labelmaxlen : -1; comment: '# '; dollarsign: '$'; ); @@ -276,6 +277,7 @@ unit cpugas; supported_targets: [system_mipseb_linux]; flags: [ af_needar, af_smartlink_sections]; labelprefix: '.L'; + labelmaxlen : -1; comment: '# '; dollarsign: '$'; ); diff --git a/compiler/ogcoff.pas b/compiler/ogcoff.pas index ec2f73c391..8c05b3792a 100644 --- a/compiler/ogcoff.pas +++ b/compiler/ogcoff.pas @@ -3472,6 +3472,7 @@ const pemagic : array[0..3] of byte = ( supported_targets : [system_i386_go32v2]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); @@ -3485,6 +3486,7 @@ const pemagic : array[0..3] of byte = ( supported_targets : [system_i386_win32,system_i386_nativent]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); @@ -3498,6 +3500,7 @@ const pemagic : array[0..3] of byte = ( supported_targets : [system_i386_wdosx]; flags : [af_outputbinary]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); @@ -3511,6 +3514,7 @@ const pemagic : array[0..3] of byte = ( supported_targets : [system_i386_wince]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); @@ -3526,6 +3530,7 @@ const pemagic : array[0..3] of byte = ( supported_targets : [system_x86_64_win64]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); @@ -3541,6 +3546,7 @@ const pemagic : array[0..3] of byte = ( supported_targets : [system_arm_wince]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); diff --git a/compiler/ogmacho.pas b/compiler/ogmacho.pas index 3f504bb336..2ba006a04b 100644 --- a/compiler/ogmacho.pas +++ b/compiler/ogmacho.pas @@ -1229,6 +1229,7 @@ uses supported_targets : [system_i386_darwin,system_i386_iphonesim]; flags : [af_outputbinary,af_smartlink_sections,af_supports_dwarf{, af_stabs_use_function_absolute_addresses}]; labelprefix : '.L'; + labelmaxlen : -1; comment : '#'; dollarsign: '$'; ); diff --git a/compiler/ognlm.pas b/compiler/ognlm.pas index 99b57a5451..9c48c3d2c1 100644 --- a/compiler/ognlm.pas +++ b/compiler/ognlm.pas @@ -1497,6 +1497,7 @@ const supported_targets : [system_i386_Netware,system_i386_netwlibc]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); diff --git a/compiler/ogomf.pas b/compiler/ogomf.pas index 1ab8ab0d4d..05b02acadf 100644 --- a/compiler/ogomf.pas +++ b/compiler/ogomf.pas @@ -4920,6 +4920,7 @@ cleanup: supported_targets : [system_i8086_msdos,system_i8086_embedded,system_i8086_win16]; flags : [af_outputbinary,af_smartlink_sections]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); diff --git a/compiler/powerpc/agppcmpw.pas b/compiler/powerpc/agppcmpw.pas index 80d75bfc87..9c3c8fe0ba 100644 --- a/compiler/powerpc/agppcmpw.pas +++ b/compiler/powerpc/agppcmpw.pas @@ -1243,6 +1243,7 @@ interface supported_targets : [system_powerpc_macos]; flags : [af_needar,af_smartlink_sections,af_labelprefix_only_inside_procedure]; labelprefix : '@'; + labelmaxlen : -1; comment : '; '; dollarsign: 's'; ); diff --git a/compiler/powerpc/agppcvasm.pas b/compiler/powerpc/agppcvasm.pas index e51c3cc451..e502a16448 100644 --- a/compiler/powerpc/agppcvasm.pas +++ b/compiler/powerpc/agppcvasm.pas @@ -125,6 +125,7 @@ unit agppcvasm; supported_targets : [system_powerpc_amiga,system_powerpc_morphos,system_powerpc_linux]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/ppcgen/agppcgas.pas b/compiler/ppcgen/agppcgas.pas index 71c3ed540b..cbcbe735b4 100644 --- a/compiler/ppcgen/agppcgas.pas +++ b/compiler/ppcgen/agppcgas.pas @@ -646,6 +646,7 @@ unit agppcgas; supported_targets : [system_powerpc_linux,system_powerpc_netbsd,system_powerpc_openbsd,system_powerpc_MorphOS,system_powerpc_Amiga,system_powerpc64_linux,system_powerpc_embedded,system_powerpc64_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -664,6 +665,7 @@ unit agppcgas; supported_targets : [system_powerpc_morphos]; flags : [af_needar]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -678,6 +680,7 @@ unit agppcgas; supported_targets : [system_powerpc_darwin,system_powerpc64_darwin]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_stabs_use_function_absolute_addresses]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign : '$'; ); @@ -701,6 +704,7 @@ unit agppcgas; supported_targets : [system_powerpc_aix,system_powerpc64_aix]; flags : [af_needar,af_smartlink_sections,af_stabs_use_function_absolute_addresses]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign : '.' ); @@ -723,6 +727,7 @@ unit agppcgas; supported_targets : [system_powerpc_aix,system_powerpc64_aix]; flags : [af_needar,af_smartlink_sections,af_stabs_use_function_absolute_addresses]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign : '.' ); @@ -736,6 +741,7 @@ unit agppcgas; supported_targets : [system_powerpc_macos, system_powerpc_darwin, system_powerpc64_darwin]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/riscv/agrvgas.pas b/compiler/riscv/agrvgas.pas index f0426a27f2..85f7ffce6c 100644 --- a/compiler/riscv/agrvgas.pas +++ b/compiler/riscv/agrvgas.pas @@ -263,6 +263,7 @@ unit agrvgas; supported_targets : [system_riscv32_linux,system_riscv64_linux]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/sparc/cpuelf.pas b/compiler/sparc/cpuelf.pas index 1123ffb266..d9331a7638 100644 --- a/compiler/sparc/cpuelf.pas +++ b/compiler/sparc/cpuelf.pas @@ -128,6 +128,7 @@ implementation // flags : [af_outputbinary,af_smartlink_sections]; flags : [af_outputbinary,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); diff --git a/compiler/sparc64/cpugas.pas b/compiler/sparc64/cpugas.pas index 9ea138b793..76d752164f 100644 --- a/compiler/sparc64/cpugas.pas +++ b/compiler/sparc64/cpugas.pas @@ -240,6 +240,7 @@ implementation supported_targets : [system_sparc64_linux]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -253,6 +254,7 @@ implementation supported_targets : [system_sparc64_linux]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/sparcgen/cpugas.pas b/compiler/sparcgen/cpugas.pas index ca41275117..a34fdcfaa6 100644 --- a/compiler/sparcgen/cpugas.pas +++ b/compiler/sparcgen/cpugas.pas @@ -236,6 +236,7 @@ implementation supported_targets : [system_sparc_solaris,system_sparc_linux,system_sparc_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -249,6 +250,7 @@ implementation supported_targets : [system_sparc_solaris,system_sparc_linux,system_sparc_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -266,6 +268,7 @@ implementation supported_targets : [system_sparc64_linux]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -279,6 +282,7 @@ implementation supported_targets : [system_sparc64_linux]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/systems.pas b/compiler/systems.pas index 7ee9476144..bfb72b0986 100644 --- a/compiler/systems.pas +++ b/compiler/systems.pas @@ -88,6 +88,7 @@ interface supported_targets : set of tsystem; flags : set of tasmflags; labelprefix : string[3]; + labelmaxlen : integer; comment : string[3]; { set to '$' if that character is allowed in symbol names, otherwise to alternate character by which '$' should be replaced } diff --git a/compiler/x86/agx86att.pas b/compiler/x86/agx86att.pas index 29b321a076..d2bc40bad9 100644 --- a/compiler/x86/agx86att.pas +++ b/compiler/x86/agx86att.pas @@ -441,6 +441,7 @@ interface system_x86_64_android,system_x86_64_haiku]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -454,6 +455,7 @@ interface supported_targets : [system_x86_64_linux,system_x86_64_freebsd,system_x86_64_win64,system_x86_64_embedded]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -467,6 +469,7 @@ interface supported_targets : [system_x86_64_solaris]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -481,6 +484,7 @@ interface supported_targets : [system_x86_64_solaris]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -496,6 +500,7 @@ interface supported_targets : [system_x86_64_darwin,system_x86_64_iphonesim]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -509,6 +514,7 @@ interface supported_targets : [system_x86_64_darwin,system_x86_64_iphonesim]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_no_stabs]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -526,6 +532,7 @@ interface system_i386_nativent,system_i386_android,system_i386_aros]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -542,6 +549,7 @@ interface system_i386_nativent]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -556,6 +564,7 @@ interface supported_targets : [system_i386_linux,system_i386_OS2,system_i386_freebsd,system_i386_netbsd,system_i386_openbsd,system_i386_EMX,system_i386_embedded]; flags : [af_needar,af_stabs_use_function_absolute_addresses]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -570,6 +579,7 @@ interface supported_targets : [system_i386_darwin,system_i386_iphonesim]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_stabs_use_function_absolute_addresses]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -583,6 +593,7 @@ interface supported_targets : [system_i386_darwin,system_i386_iphonesim]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_no_stabs]; labelprefix : 'L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -599,6 +610,7 @@ interface system_x86_6432_linux,system_i386_android]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); @@ -612,6 +624,7 @@ interface supported_targets : [system_i386_solaris]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/x86/agx86int.pas b/compiler/x86/agx86int.pas index 1ca1a78534..2a4dae7f48 100644 --- a/compiler/x86/agx86int.pas +++ b/compiler/x86/agx86int.pas @@ -1159,6 +1159,7 @@ implementation supported_targets : [system_i386_GO32V2,system_i386_Win32,system_i386_wdosx,system_i386_watcom,system_i386_wince]; flags : [af_needar,af_labelprefix_only_inside_procedure]; labelprefix : '@@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1172,6 +1173,7 @@ implementation supported_targets : [system_i386_GO32V2,system_i386_Win32,system_i386_wdosx,system_i386_watcom,system_i386_wince]; flags : [af_needar]; labelprefix : '@@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1185,6 +1187,7 @@ implementation supported_targets : [system_i386_watcom]; flags : [af_needar]; labelprefix : '@@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1199,6 +1202,7 @@ implementation supported_targets : [system_x86_64_win64]; flags : [af_needar]; labelprefix : '@@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); diff --git a/compiler/x86/agx86nsm.pas b/compiler/x86/agx86nsm.pas index f67dab0d3c..09214fe250 100644 --- a/compiler/x86/agx86nsm.pas +++ b/compiler/x86/agx86nsm.pas @@ -1483,6 +1483,7 @@ interface supported_targets : [system_i8086_msdos,system_i8086_win16,system_i8086_embedded]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1495,6 +1496,7 @@ interface supported_targets : [system_i8086_msdos,system_i8086_win16,system_i8086_embedded]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1510,6 +1512,7 @@ interface supported_targets : [system_i386_go32v2]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1523,6 +1526,7 @@ interface supported_targets : [system_i386_win32]; flags : [af_needar,af_no_debug,af_smartlink_sections]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1536,6 +1540,7 @@ interface supported_targets : [system_i386_embedded, system_i8086_msdos]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1549,6 +1554,7 @@ interface supported_targets : [system_i386_wdosx]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1563,6 +1569,7 @@ interface supported_targets : [system_i386_linux]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1576,6 +1583,7 @@ interface supported_targets : [system_i386_darwin]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1589,6 +1597,7 @@ interface supported_targets : [system_i386_beos]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1602,6 +1611,7 @@ interface supported_targets : [system_i386_haiku]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1614,6 +1624,7 @@ interface supported_targets : [system_any]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1630,6 +1641,7 @@ interface supported_targets : [system_any]; flags : [af_needar{,af_no_debug}]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1643,6 +1655,7 @@ interface supported_targets : [system_x86_64_win64]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1656,6 +1669,7 @@ interface supported_targets : [system_x86_64_linux]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); @@ -1670,6 +1684,7 @@ interface supported_targets : [system_x86_64_darwin]; flags : [af_needar,af_no_debug]; labelprefix : '..@'; + labelmaxlen : -1; comment : '; '; dollarsign: '$'; ); diff --git a/compiler/x86_64/cpuelf.pas b/compiler/x86_64/cpuelf.pas index 3d426286e5..b0c52b7581 100644 --- a/compiler/x86_64/cpuelf.pas +++ b/compiler/x86_64/cpuelf.pas @@ -699,6 +699,7 @@ implementation system_x86_64_haiku]; flags : [af_outputbinary,af_smartlink_sections,af_supports_dwarf]; labelprefix : '.L'; + labelmaxlen : -1; comment : ''; dollarsign: '$'; ); diff --git a/compiler/xtensa/agcpugas.pas b/compiler/xtensa/agcpugas.pas index c771356e8e..07defa4607 100644 --- a/compiler/xtensa/agcpugas.pas +++ b/compiler/xtensa/agcpugas.pas @@ -176,6 +176,7 @@ unit agcpugas; supported_targets : [system_xtensa_embedded]; flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_stabs_use_function_absolute_addresses]; labelprefix : '.L'; + labelmaxlen : -1; comment : '# '; dollarsign: '$'; ); diff --git a/compiler/z80/agsdasz80.pas b/compiler/z80/agsdasz80.pas index f00343feb7..18e9d9efc9 100644 --- a/compiler/z80/agsdasz80.pas +++ b/compiler/z80/agsdasz80.pas @@ -883,6 +883,7 @@ unit agsdasz80; supported_targets : [system_Z80_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : 79; comment : '; '; dollarsign: '$'; ); diff --git a/compiler/z80/agz80asm.pas b/compiler/z80/agz80asm.pas index 4569b86ead..9788b040ba 100644 --- a/compiler/z80/agz80asm.pas +++ b/compiler/z80/agz80asm.pas @@ -436,6 +436,7 @@ unit agz80asm; supported_targets : [system_Z80_embedded]; flags : [af_needar,af_smartlink_sections]; labelprefix : '.L'; + labelmaxlen : -1; comment : '; '; dollarsign: 's'; );