diff options
Diffstat (limited to 'ntranslate')
-rwxr-xr-x | ntranslate | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/ntranslate b/ntranslate index 9b8eb28c..e1c6f99b 100755 --- a/ntranslate +++ b/ntranslate @@ -27,11 +27,24 @@ cat a.calls |apps/sigils > a.sigils cat a.sigils |apps/tests > a.tests -cat a.tests |apps/dquotes > a.dquotes +cat a.tests |apps/assort > a.assort -cat a.dquotes |apps/assort > a.assort +cat a.assort |apps/dquotes > a.dquotes -cat a.assort |apps/pack > a.pack +# A little hack. We want ntranslate to always emit identical binaries to the +# C++ translator. The C++ translator assorts segments before it processes +# string literals, so we follow the same order above. +# +# However, dquotes currently emits a separate data segment for string literals. +# So we need to run assort a second time to clean up after it. +# +# Potential solutions: +# a) modify C++ translator to process string literals before assorting. +# b) clean up dquotes to assume assorted segments, and append to the +# existing data segment. +cat a.dquotes |apps/assort > a.assort2 + +cat a.assort2 |apps/pack > a.pack cat a.pack |apps/survey > a.survey |