From: Josh Kunz Date: Mon, 12 Aug 2019 20:28:09 +0000 (-0700) Subject: Add comments explaining the diff from cf8e3f8757 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6733782381a84fe18cf89d11c88d7df497e3a275;p=thirdparty%2Fglibc.git Add comments explaining the diff from cf8e3f8757 These comments should make it easier to see the (small) diff introduced in cf8e3f8757. Without these comments, the diff may get list on a future upstream merge. --- diff --git a/scripts/gen-as-const.awk b/scripts/gen-as-const.awk index 36e6de303c7..fd662c9df9b 100644 --- a/scripts/gen-as-const.awk +++ b/scripts/gen-as-const.awk @@ -49,6 +49,13 @@ NF > 1 { if (test) print " TEST (" name ", \"" FILENAME ":" FNR "\", " $0 ")"; else + # The `.ascii` directive here is needed for LLVM/clang support. LLVM will + # validate every `asm(...)` directive before emitting it, whereas GCC will + # literally emit the directive without validation. Without `.ascii` the + # directives emitted by this generator are not valid assembler statements, + # and the LLVM assembler will fail to assemble the file. The `.ascii` here + # has no functional affect, because string parsing is used to extract the + # integer constant from the assembly file built from the generated file. printf "asm (\".ascii \\\"@@@name@@@%s@@@value@@@%%0@@@end@@@\\\"\" : : \"i\" ((long) %s));\n", name, $0; } diff --git a/scripts/gen-py-const.awk b/scripts/gen-py-const.awk index beb41964eef..8101bf87acc 100644 --- a/scripts/gen-py-const.awk +++ b/scripts/gen-py-const.awk @@ -109,6 +109,13 @@ NF > 1 { # Remove any characters before the second field. sub(/^[^[:blank:]]+[[:blank:]]+/, ""); + # The `.ascii` directive here is needed for LLVM/clang support. LLVM will + # validate every `asm(...)` directive before emitting it, whereas GCC will + # literally emit the directive without validation. Without `.ascii` the + # directives emitted by this generator are not valid assembler statements, + # and the LLVM assembler will fail to assemble the file. The `.ascii` here + # has no functional affect, because string parsing is used to extract the + # integer constant from the assembly file built from the generated file. # '$0' ends up being everything that appeared after the first field # separator. printf " asm (\".ascii \\\"@name@%s@value@%0@\\\"\" : : \"i\" (%s));\n", name, $0;