summaryrefslogtreecommitdiff
path: root/src/util/make_prefix_headers.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/make_prefix_headers.go')
-rw-r--r--src/util/make_prefix_headers.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/util/make_prefix_headers.go b/src/util/make_prefix_headers.go
index a5e5441f..b536f14c 100644
--- a/src/util/make_prefix_headers.go
+++ b/src/util/make_prefix_headers.go
@@ -172,16 +172,32 @@ func writeNASMHeader(symbols []string, path string) error {
; OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
; CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+; 32-bit Windows adds underscores to C functions, while 64-bit Windows does not.
+%ifidn __OUTPUT_FORMAT__, win32
`); err != nil {
return err
}
for _, symbol := range symbols {
- if _, err := fmt.Fprintf(f, "%%define %s BORINGSSL_PREFIX %%+ %s\n", symbol, symbol); err != nil {
+ if _, err := fmt.Fprintf(f, "%%xdefine _%s _ %%+ BORINGSSL_PREFIX %%+ _%s\n", symbol, symbol); err != nil {
return err
}
}
+ if _, err := fmt.Fprintf(f, "%%else\n"); err != nil {
+ return err
+ }
+
+ for _, symbol := range symbols {
+ if _, err := fmt.Fprintf(f, "%%xdefine %s BORINGSSL_PREFIX %%+ _%s\n", symbol, symbol); err != nil {
+ return err
+ }
+ }
+
+ if _, err := fmt.Fprintf(f, "%%endif\n"); err != nil {
+ return err
+ }
+
return nil
}