Skip to content

Commit 70f9c11

Browse files
committed
libphobos: Support GNU/Hurd.
1 parent 092be15 commit 70f9c11

5 files changed

Lines changed: 22 additions & 5 deletions

File tree

libphobos/configure.tgt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ case "${target}" in
8585
x86_64-*-linux* | i?86-*-linux*)
8686
LIBPHOBOS_SUPPORTED=yes
8787
;;
88+
x86_64-*-gnu* | i?86-*-gnu*)
89+
LIBPHOBOS_SUPPORTED=yes
90+
;;
8891
x86_64-*-netbsd* | i?86-*-netbsd*)
8992
LIBPHOBOS_SUPPORTED=yes
9093
;;

libphobos/libdruntime/Makefile.am

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ ALL_DRUNTIME_INSTALL_DSOURCES = $(DRUNTIME_DSOURCES) \
3939
$(DRUNTIME_DSOURCES_LINUX) $(DRUNTIME_DSOURCES_NETBSD) \
4040
$(DRUNTIME_DSOURCES_OPENBSD) $(DRUNTIME_DSOURCES_POSIX) \
4141
$(DRUNTIME_DSOURCES_SOLARIS) $(DRUNTIME_DSOURCES_WINDOWS) \
42+
$(DRUNTIME_DSOURCES_HURD) \
4243
$(DRUNTIME_DSOURCES_GENERATED) $(DRUNTIME_DISOURCES) \
4344
$(DRUNTIME_DSOURCES_ELF) $(DRUNTIME_DSOURCES_STDCXX)
4445

@@ -77,6 +78,9 @@ endif
7778
if DRUNTIME_OS_SOLARIS
7879
DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_SOLARIS)
7980
endif
81+
if DRUNTIME_OS_HURD
82+
DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_HURD)
83+
endif
8084
# CPU specific sources
8185
if DRUNTIME_CPU_AARCH64
8286
DRUNTIME_SOURCES_CONFIGURED += config/aarch64/switchcontext.S
@@ -361,6 +365,12 @@ DRUNTIME_DSOURCES_SOLARIS = core/sys/solaris/dlfcn.d \
361365
core/sys/solaris/sys/regset.d core/sys/solaris/sys/types.d \
362366
core/sys/solaris/thread.d core/sys/solaris/time.d
363367

368+
DRUNTIME_DSOURCES_HURD = core/sys/hurd/config.d \
369+
core/sys/hurd/dlfcn.d core/sys/hurd/elf.d \
370+
core/sys/hurd/errno.d core/sys/hurd/execinfo.d \
371+
core/sys/hurd/link.d core/sys/hurd/sys/types.d \
372+
core/sys/hurd/time.d core/sys/hurd/unistd.d
373+
364374
DRUNTIME_DSOURCES_WINDOWS = core/sys/windows/accctrl.d \
365375
core/sys/windows/aclapi.d core/sys/windows/aclui.d \
366376
core/sys/windows/basetsd.d core/sys/windows/basetyps.d \

libphobos/libdruntime/config/common/threadasm.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ a copy of the GCC Runtime Library Exception along with this program;
2222
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
2323
<http://www.gnu.org/licenses/>. */
2424

25-
#if (__linux__ || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__) && __ELF__
25+
#if (__linux__ || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ || __GNU__) && __ELF__
2626
/*
2727
* Mark the resulting object file as not requiring execution permissions on
2828
* stack memory. The absence of this section would mark the whole resulting

libphobos/libdruntime/config/x86/switchcontext.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ CSYM(fiber_switchContext):
108108

109109
# endif /* defined(__ELF__) */
110110

111-
# if defined(__MACH__)
111+
# if defined(__MACH__) && defined(__APPLE__)
112112

113113
# if defined(__i386__)
114114

@@ -177,7 +177,7 @@ LASFDE1:
177177
.p2align 2,0
178178
LEFDE1:
179179

180-
# endif /* defined(__MACH__) && defined(__i386__) */
180+
# endif /* defined(__MACH__) && defined(__APPLE__) && defined(__i386__) */
181181

182182
# if defined(__x86_64__) && !defined(__ILP32__)
183183

@@ -247,8 +247,8 @@ LASFDE1:
247247
.p2align 3,0
248248
LEFDE1:
249249

250-
# endif /* defined(__MACH__) && defined(__x86_64__) && !defined(__ILP32__) */
250+
# endif /* defined(__MACH__) && defined(__APPLE__) && defined(__x86_64__) && !defined(__ILP32__) */
251251

252-
# endif /* defined (__MACH__) */
252+
# endif /* defined (__MACH__) && defined(__APPLE__) */
253253

254254
#endif /* !defined(__CET__) */

libphobos/m4/druntime/os.m4

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ AC_DEFUN([DRUNTIME_OS_SOURCES],
8989
mingw*) druntime_target_os_parsed="mingw"
9090
;;
9191
*solaris*) druntime_target_os_parsed="solaris"
92+
;;
93+
gnu*) druntime_target_os_parsed="hurd"
9294
esac
9395
AM_CONDITIONAL([DRUNTIME_OS_AIX],
9496
[test "$druntime_target_os_parsed" = "aix"])
@@ -110,6 +112,8 @@ AC_DEFUN([DRUNTIME_OS_SOURCES],
110112
[test "$druntime_target_os_parsed" = "mingw"])
111113
AM_CONDITIONAL([DRUNTIME_OS_SOLARIS],
112114
[test "$druntime_target_os_parsed" = "solaris"])
115+
AM_CONDITIONAL([DRUNTIME_OS_HURD],
116+
[test "$druntime_target_os_parsed" = "hurd"])
113117
114118
druntime_target_posix="no"
115119
case "$druntime_cv_target_os" in

0 commit comments

Comments
 (0)