diff options
author | tgingold <tgingold@users.noreply.github.com> | 2016-06-30 19:54:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-30 19:54:10 +0200 |
commit | 50d05077aee0a8ff8020d2dcf08a7145fdc74b1e (patch) | |
tree | 4a20863ad14b0bf810b7c2c00333d9af4084253a /src | |
parent | ecf964d43cfb36def48809fe47e43f60a5f2e4b1 (diff) | |
parent | 030a49838de92cb8c2bf77e025cd9ca64314b75b (diff) | |
download | ghdl-50d05077aee0a8ff8020d2dcf08a7145fdc74b1e.tar.gz ghdl-50d05077aee0a8ff8020d2dcf08a7145fdc74b1e.tar.bz2 ghdl-50d05077aee0a8ff8020d2dcf08a7145fdc74b1e.zip |
Merge pull request #108 from Paebbels/paebbels/mingw32-mingw64
A first change set for MinGW32 and MinGW64
Diffstat (limited to 'src')
-rw-r--r-- | src/grt/Makefile.inc | 5 | ||||
-rw-r--r-- | src/grt/config/win32.c | 4 | ||||
-rw-r--r-- | src/ortho/mcode/ortho_code-x86-flags_windows64.ads | 34 |
3 files changed, 39 insertions, 4 deletions
diff --git a/src/grt/Makefile.inc b/src/grt/Makefile.inc index f8a4d327a..7ac0c96d2 100644 --- a/src/grt/Makefile.inc +++ b/src/grt/Makefile.inc @@ -47,8 +47,9 @@ endif GRT_ELF_OPTS:=-Wl,--version-script=@/grt.ver -Wl,--export-dynamic # Set target files. -ifeq ($(filter-out mingw32,$(osys)),) - GRT_TARGET_OBJS=jumps.o math.o clock.o +ifeq ($(filter-out mingw32 mingw64,$(osys)),) + GRT_TARGET_OBJS=win32.o clock.o + GRT_EXTRA_LIB=-ldbghelp else GRT_TARGET_OBJS=jumps.o times.o ifeq ($(filter-out linux,$(osys)),) diff --git a/src/grt/config/win32.c b/src/grt/config/win32.c index 79935e6f0..c473b246c 100644 --- a/src/grt/config/win32.c +++ b/src/grt/config/win32.c @@ -79,9 +79,9 @@ get_bt_from_context (struct backtrace_addrs *bt, CONTEXT *ctxt, int skip) frame.AddrPC.Offset = ctxt->Rip; frame.AddrPC.Mode = AddrModeFlat; - frame.AddrFrame.Offset = ctx->Rsp; + frame.AddrFrame.Offset = ctxt->Rsp; frame.AddrFrame.Mode = AddrModeFlat; - frame.AddrStack.Offset = ctx->Rsp; + frame.AddrStack.Offset = ctxt->Rsp; frame.AddrStack.Mode = AddrModeFlat; #else diff --git a/src/ortho/mcode/ortho_code-x86-flags_windows64.ads b/src/ortho/mcode/ortho_code-x86-flags_windows64.ads new file mode 100644 index 000000000..1e7550012 --- /dev/null +++ b/src/ortho/mcode/ortho_code-x86-flags_windows64.ads @@ -0,0 +1,34 @@ +-- X86 ABI flags. +-- Copyright (C) 2006 Tristan Gingold +-- +-- GHDL is free software; you can redistribute it and/or modify it under +-- the terms of the GNU General Public License as published by the Free +-- Software Foundation; either version 2, or (at your option) any later +-- version. +-- +-- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY +-- WARRANTY; without even the implied warranty of MERCHANTABILITY or +-- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-- for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with GCC; see the file COPYING. If not, write to the Free +-- Software Foundation, 59 Temple Place - Suite 330, Boston, MA +-- 02111-1307, USA. +with Interfaces; use Interfaces; + +package Ortho_Code.X86.Flags_Windows64 is + -- If true, OE_Alloca calls __chkstk (Windows), otherwise OE_Alloc + -- modifies ESP directly. + Flag_Alloca_Call : constant Boolean := True; + + -- Prefered stack alignment. + -- Must be a power of 2. + Stack_Boundary : constant Unsigned_32 := 2 ** 3; + + -- Alignment for double (64 bit float). + Mode_F64_Align : constant Natural := 3; + + -- 32 bits. + M64 : constant Boolean := False; +end Ortho_Code.X86.Flags_Windows64; |