diff options
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | gcc-djgpp.diff (renamed from gcc-7.3.0-djgpp.diff) | 284 |
3 files changed, 241 insertions, 74 deletions
@@ -1,6 +1,6 @@ pkgbase = djgpp-gcc pkgdesc = GCC for the djgpp cross-compiler - pkgver = 7.3.0 + pkgver = 8.1.0 pkgrel = 1 url = http://gcc.gnu.org arch = i686 @@ -8,23 +8,24 @@ pkgbase = djgpp-gcc groups = djgpp license = GPL3 license = LGPL3 - makedepends = unzip + makedepends = unzip, + makedepends = gcc-ada depends = zlib depends = libmpc - depends = djgpp-binutils + depends = djgpp-binutils>=2.30 depends = djgpp-djcrx optdepends = djgpp-djcrx: headers and utilities options = !strip options = staticlibs options = !emptydirs - source = https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz + source = https://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.xz source = http://isl.gforge.inria.fr/isl-0.18.tar.bz2 source = lto.patch - source = gcc-7.3.0-djgpp.diff - sha256sums = 832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c + source = gcc-djgpp.diff + sha256sums = 1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153 sha256sums = 6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b sha256sums = c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0 - sha256sums = 3d805b0d5d5180531858f830d9a022ae9a61f5768535bd0e794d8a1b2eb430b6 + sha256sums = 5f8c8ee1baa1afb5342a98109ed325013929aa749c17f679e969688a46032bd5 pkgname = djgpp-gcc @@ -3,7 +3,7 @@ # Contributor: felix <base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg==> pkgname=djgpp-gcc -pkgver=7.3.0 +pkgver=8.1.0 _target="i686-pc-msdosdjgpp" _islver=0.18 _djver=2.05 @@ -13,18 +13,18 @@ arch=('i686' 'x86_64') url="http://gcc.gnu.org" license=('GPL3' 'LGPL3') groups=('djgpp') -depends=('zlib' 'libmpc' 'djgpp-binutils' 'djgpp-djcrx') -makedepends=('unzip') +depends=('zlib' 'libmpc' 'djgpp-binutils>=2.30' 'djgpp-djcrx') +makedepends=('unzip' 'gcc-ada') optdepends=('djgpp-djcrx: headers and utilities') options=('!strip' 'staticlibs' '!emptydirs') source=("https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz" "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2" "lto.patch" - "gcc-7.3.0-djgpp.diff") -sha256sums=('832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c' + "gcc-djgpp.diff") +sha256sums=('1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153' '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b' 'c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0' - '3d805b0d5d5180531858f830d9a022ae9a61f5768535bd0e794d8a1b2eb430b6') + '5f8c8ee1baa1afb5342a98109ed325013929aa749c17f679e969688a46032bd5') prepare() { cd gcc-$pkgver @@ -36,7 +36,7 @@ prepare() { patch -Np0 < ../lto.patch # Other DJGPP related changes - patch -Np1 < ../gcc-7.3.0-djgpp.diff + patch -Np1 < ../gcc-djgpp.diff } build() { @@ -70,5 +70,5 @@ package_djgpp-gcc() { rm -rf "$pkgdir"/usr/share/{man/man7,info,locale} rm -rf "$pkgdir"/usr/share/gcc-$pkgver/python rm -rf "$pkgdir"/usr/lib/gcc/$_target/$pkgver/include-fixed - rm -f "$pkgdir"/usr/lib/libcc1.* + rm -f "$pkgdir"/usr/lib*/libcc1.* } diff --git a/gcc-7.3.0-djgpp.diff b/gcc-djgpp.diff index 463d634b6d6e..83ead4aab57c 100644 --- a/gcc-7.3.0-djgpp.diff +++ b/gcc-djgpp.diff @@ -1,8 +1,21 @@ diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c -index bff875a6822..fc06ee7b663 100644 +index 3b0aea92c05..02013b9f01a 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c -@@ -549,7 +549,11 @@ __gnat_try_lock (char *dir, char *file) +@@ -247,6 +247,12 @@ char __gnat_dir_separator = DIR_SEPARATOR; + + char __gnat_path_separator = PATH_SEPARATOR; + ++#ifdef __DJGPP__ ++int __gnat_is_djgpp = 1; ++#else ++int __gnat_is_djgpp = 0; ++#endif ++ + /* The GNAT_LIBRARY_TEMPLATE contains a list of expressions that define + the base filenames that libraries specified with -lsomelib options + may have. This is used by GNATMAKE to check whether an executable +@@ -553,7 +559,11 @@ __gnat_try_lock (char *dir, char *file) int __gnat_get_maximum_file_name_length (void) { @@ -14,28 +27,36 @@ index bff875a6822..fc06ee7b663 100644 } /* Return nonzero if file names are case sensitive. */ -@@ -623,6 +627,17 @@ __gnat_get_current_dir (char *dir, int *length) - dir [*length] = DIR_SEPARATOR; - ++(*length); - } -+#ifdef __DJGPP__ -+ do { -+ char *w; -+ for (w = dir; *w; ++w) -+ { -+ if (*w == '/') { -+ *w = '\\'; -+ } -+ } -+ } while (0); -+#endif /* __DJGPP__ */ - dir[*length] = '\0'; - } +diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in +index d51d3973b4d..3381e23116a 100644 +--- a/gcc/ada/gcc-interface/Make-lang.in ++++ b/gcc/ada/gcc-interface/Make-lang.in +@@ -1066,7 +1066,7 @@ ada/generated/gnatvsn.ads: ada/gnatvsn.ads BASE-VER ada/GNAT_DATE + s=`cat $(srcdir)/BASE-VER | sed -e "s/\([0-9]*\)\.\([0-9]*\)\..*/-\1\2/g"`; \ + d=`if test -f $(srcdir)/ada/GNAT_DATE; then \ + cat $(srcdir)/ada/GNAT_DATE; else date +%Y%m%d; fi`; \ +- cat $< | sed -e "/Version/s/(\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*)/($$d$$s)/g" >$@ ++ cat $< | sed -e "/Version/s/(\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*)/($$d$$s)/g" | tr -d \\\015 >$@ + + ada/gnatvsn.o : ada/gnatvsn.adb ada/generated/gnatvsn.ads + $(CC) -c $(ALL_ADAFLAGS) -Iada/generated -I../ada/generated $(ADA_INCLUDES) $< $(ADA_OUTPUT_OPTION) +diff --git a/gcc/ada/libgnarl/s-taprop__dummy.adb b/gcc/ada/libgnarl/s-taprop__dummy.adb +index e1bea2955ef..240fccdae39 100644 +--- a/gcc/ada/libgnarl/s-taprop__dummy.adb ++++ b/gcc/ada/libgnarl/s-taprop__dummy.adb +@@ -41,7 +41,7 @@ pragma Polling (Off); + package body System.Task_Primitives.Operations is + + use System.Tasking; +- use System.Parameters; ++-- use System.Parameters; -diff --git a/gcc/ada/s-os_lib.adb b/gcc/ada/s-os_lib.adb -index 36064e97bd3..18bfb484074 100644 ---- a/gcc/ada/s-os_lib.adb -+++ b/gcc/ada/s-os_lib.adb + pragma Warnings (Off); + -- Turn off warnings since so many unreferenced parameters +diff --git a/gcc/ada/libgnat/s-os_lib.adb b/gcc/ada/libgnat/s-os_lib.adb +index b82bd3badb3..8e3d7bcacc1 100644 +--- a/gcc/ada/libgnat/s-os_lib.adb ++++ b/gcc/ada/libgnat/s-os_lib.adb @@ -71,7 +71,7 @@ package body System.OS_Lib is -- The following are used by Create_Temp_File @@ -45,8 +66,99 @@ index 36064e97bd3..18bfb484074 100644 -- Used to initialize Current_Temp_File_Name and Temp_File_Name_Last_Digit Current_Temp_File_Name : String := First_Temp_File_Name; +@@ -2262,10 +2262,10 @@ package body System.OS_Lib is + -- * Check the drive letter + -- * Remove all double-quotes + +- if On_Windows then +- ++ if On_Windows ++ and then Is_Djgpp = 0 ++ then + -- Replace all '/' by '\' +- + for Index in 1 .. End_Path loop + if Path_Buffer (Index) = '/' then + Path_Buffer (Index) := Directory_Separator; +diff --git a/gcc/ada/libgnat/s-os_lib.ads b/gcc/ada/libgnat/s-os_lib.ads +index 1e2ffa354a3..40d3b689bbd 100644 +--- a/gcc/ada/libgnat/s-os_lib.ads ++++ b/gcc/ada/libgnat/s-os_lib.ads +@@ -1082,9 +1082,12 @@ package System.OS_Lib is + Path_Separator : constant Character; + -- The character to separate paths in an environment variable value + ++ Is_Djgpp : constant Integer; ++ + private + pragma Import (C, Path_Separator, "__gnat_path_separator"); + pragma Import (C, Directory_Separator, "__gnat_dir_separator"); ++ pragma Import (C, Is_Djgpp, "__gnat_is_djgpp"); + pragma Import (C, Current_Time, "__gnat_current_time"); + pragma Import (C, Current_Process_Id, "__gnat_current_process_id"); + +diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h +index 02096925a88..066417f1d50 100644 +--- a/gcc/config/i386/xm-djgpp.h ++++ b/gcc/config/i386/xm-djgpp.h +@@ -30,6 +30,8 @@ along with GCC; see the file COPYING3. If not see + #undef NATIVE_SYSTEM_HEADER_DIR + #define NATIVE_SYSTEM_HEADER_DIR "/dev/env/DJDIR/include/" + ++//#undef PREFIX_INCLUDE_DIR ++ + /* Search for as.exe and ld.exe in DJGPP's binary directory. */ + #undef MD_EXEC_PREFIX + #define MD_EXEC_PREFIX "/dev/env/DJDIR/bin/" +@@ -107,6 +109,11 @@ along with GCC; see the file COPYING3. If not see + (PATH) = xstrdup (fixed_path); \ + } + ++/* Rename libstdc++ to libstdcxx as the first name is not valid for DOS */ ++#define LIBSTDCXX "stdcxx" ++#define LIBSTDCXX_PROFILE "stdcxx" ++#define LIBSTDCXX_STATIC "stdcxx" ++ + #undef MAX_OFILE_ALIGNMENT + #define MAX_OFILE_ALIGNMENT 128 + +diff --git a/gcc/gcov-tool.c b/gcc/gcov-tool.c +index 15fd710b18c..91d4c87b31b 100644 +--- a/gcc/gcov-tool.c ++++ b/gcc/gcov-tool.c +@@ -56,11 +56,18 @@ static bool verbose; + + /* Remove file NAME if it has a gcda suffix. */ + ++#ifdef __DJGPP__ ++static int ++unlink_gcda_file (const char *name, ++ struct stat *status ATTRIBUTE_UNUSED, ++ int type ATTRIBUTE_UNUSED) ++#else + static int + unlink_gcda_file (const char *name, + const struct stat *status ATTRIBUTE_UNUSED, + int type ATTRIBUTE_UNUSED, + struct FTW *ftwbuf ATTRIBUTE_UNUSED) ++#endif + { + int ret = 0; + int len = strlen (name); +@@ -82,7 +89,11 @@ static int + unlink_profile_dir (const char *path ATTRIBUTE_UNUSED) + { + #if HAVE_FTW_H ++#ifdef __DJGPP__ ++ return ftw(path, unlink_gcda_file, 64); ++#else + return nftw(path, unlink_gcda_file, 64, FTW_DEPTH | FTW_PHYS); ++#endif + #else + return -1; + #endif diff --git a/gcc/ginclude/float.h b/gcc/ginclude/float.h -index 658017fd63a..e6504b94d07 100644 +index 96a360f305e..d24aa286421 100644 --- a/gcc/ginclude/float.h +++ b/gcc/ginclude/float.h @@ -25,6 +25,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -61,7 +173,7 @@ index 658017fd63a..e6504b94d07 100644 #define _FLOAT_H___ diff --git a/include/libiberty.h b/include/libiberty.h -index 7a796124bf5..0eb73f6650b 100644 +index dc09e791e41..72e535f3456 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -108,6 +108,7 @@ extern int countargv (char * const *); @@ -73,7 +185,7 @@ index 7a796124bf5..0eb73f6650b 100644 extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); #else diff --git a/libcpp/files.c b/libcpp/files.c -index 969a531033f..3c07d60a62c 100644 +index e8d21b28e62..964f06e3bf4 100644 --- a/libcpp/files.c +++ b/libcpp/files.c @@ -740,6 +740,10 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc) @@ -87,11 +199,67 @@ index 969a531033f..3c07d60a62c 100644 file->buffer = _cpp_convert_input (pfile, CPP_OPTION (pfile, input_charset), buf, size + 16, total, +diff --git a/libcpp/lex.c b/libcpp/lex.c +index 37c365a3560..bf1daed392e 100644 +--- a/libcpp/lex.c ++++ b/libcpp/lex.c +@@ -502,6 +502,13 @@ init_vectorized_lexer (void) + search_line_fast_type impl = search_line_acc_char; + int minimum = 0; + ++// [FIXME][DJGPP] Using SSE here causes preprocessor to randomly ++// [FIXME][DJGPP] fail when run under Windows 10 32 bit (and maybe ++// [FIXME][DJGPP] some other systems (I have observed similar ++// [FIXME][DJGPP] behavior earlier with DJGPP v2.03p2 under Windows ++// [FIXME][DJGPP] Vista ++#ifndef __DJGPP__ ++ + #if defined(__SSE4_2__) + minimum = 3; + #elif defined(__SSE2__) +@@ -528,6 +535,8 @@ init_vectorized_lexer (void) + impl = search_line_mmx; + } + ++#endif // __DJGPP__ ++ + search_line_fast = impl; + } + +diff --git a/libffi/src/x86/sysv.S b/libffi/src/x86/sysv.S +index 78f245bda07..1ae18b248a7 100644 +--- a/libffi/src/x86/sysv.S ++++ b/libffi/src/x86/sysv.S +@@ -822,7 +822,7 @@ ENDF(C(__x86.get_pc_thunk.dx)) + #ifdef __APPLE__ + .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support + EHFrame0: +-#elif defined(X86_WIN32) ++#elif defined(X86_WIN32) || defined(__DJGPP__) + .section .eh_frame,"r" + #elif defined(HAVE_AS_X86_64_UNWIND_SECTION_TYPE) + .section .eh_frame,EH_FRAME_FLAGS,@unwind +diff --git a/libgcc/libgcov-util.c b/libgcc/libgcov-util.c +index 9cf56a82859..f30c593d04b 100644 +--- a/libgcc/libgcov-util.c ++++ b/libgcc/libgcov-util.c +@@ -388,7 +388,11 @@ read_gcda_file (const char *filename) + + static int + ftw_read_file (const char *filename, ++#ifdef __DJGPP__ ++ struct stat *status ATTRIBUTE_UNUSED, ++#else + const struct stat *status ATTRIBUTE_UNUSED, ++#endif + int type) + { + int filename_len; diff --git a/libgfortran/intrinsics/chmod.c b/libgfortran/intrinsics/chmod.c -index d08418d773f..109e15ff3ab 100644 +index 1299159a7f1..e1bd7a1c633 100644 --- a/libgfortran/intrinsics/chmod.c +++ b/libgfortran/intrinsics/chmod.c -@@ -443,7 +443,7 @@ clause_done: +@@ -442,7 +442,7 @@ clause_done: if ((ugo[2] || honor_umask) && !rwxXstugo[8]) file_mode = (file_mode & ~(S_IROTH | S_IWOTH | S_IXOTH)) | (new_mode & (S_IROTH | S_IWOTH | S_IXOTH)); @@ -100,7 +268,7 @@ index d08418d773f..109e15ff3ab 100644 if (is_dir && rwxXstugo[5]) file_mode |= S_ISVTX; else if (!is_dir) -@@ -455,7 +455,7 @@ clause_done: +@@ -454,7 +454,7 @@ clause_done: { /* Clear '-'. */ file_mode &= ~new_mode; @@ -109,7 +277,7 @@ index d08418d773f..109e15ff3ab 100644 if (rwxXstugo[5] || !is_dir) file_mode &= ~S_ISVTX; #endif -@@ -463,7 +463,7 @@ clause_done: +@@ -462,7 +462,7 @@ clause_done: else if (set_mode == 3) { file_mode |= new_mode; @@ -119,7 +287,7 @@ index d08418d773f..109e15ff3ab 100644 file_mode |= S_ISVTX; else if (!is_dir) diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c -index bb9bc9a5c12..79d25e1ebe0 100644 +index a8fd07a5f3b..385640ab903 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -210,6 +210,9 @@ typedef struct @@ -132,7 +300,7 @@ index bb9bc9a5c12..79d25e1ebe0 100644 /* fix_fd()-- Given a file descriptor, make sure it is not one of the standard descriptors, returning a non-standard descriptor. If the -@@ -1187,8 +1190,13 @@ tempfile_open (const char *tempdir, char **fname) +@@ -1190,8 +1193,13 @@ tempfile_open (const char *tempdir, char **fname) char *template = xmalloc (tempdirlen + 23); #ifdef HAVE_MKSTEMP @@ -146,7 +314,7 @@ index bb9bc9a5c12..79d25e1ebe0 100644 #ifdef HAVE_UMASK /* Temporarily set the umask such that the file has 0600 permissions. */ -@@ -1554,6 +1562,13 @@ open_external (st_parameter_open *opp, unit_flags *flags) +@@ -1557,6 +1565,13 @@ open_external (st_parameter_open *opp, unit_flags *flags) return NULL; fd = fix_fd (fd); @@ -161,7 +329,7 @@ index bb9bc9a5c12..79d25e1ebe0 100644 return NULL; diff --git a/libiberty/make-relative-prefix.c b/libiberty/make-relative-prefix.c -index f74bbdc9038..4b2020e55b6 100644 +index eebcff9957e..a9d92ee2247 100644 --- a/libiberty/make-relative-prefix.c +++ b/libiberty/make-relative-prefix.c @@ -65,6 +65,7 @@ relative prefix can be found, return @code{NULL}. @@ -191,7 +359,7 @@ index f74bbdc9038..4b2020e55b6 100644 } diff --git a/libiberty/make-temp-file.c b/libiberty/make-temp-file.c -index 98e215d15e7..1c2defad7b1 100644 +index 89faed7f09e..dd93cda1f03 100644 --- a/libiberty/make-temp-file.c +++ b/libiberty/make-temp-file.c @@ -47,6 +47,7 @@ Boston, MA 02110-1301, USA. */ @@ -212,6 +380,20 @@ index 98e215d15e7..1c2defad7b1 100644 tmpdir[len+1] = '\0'; memoized_tmpdir = tmpdir; #else /* defined(_WIN32) && !defined(__CYGWIN__) */ +diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c +index 7468a1adc3d..8390e77bdd7 100644 +--- a/libiberty/simple-object-elf.c ++++ b/libiberty/simple-object-elf.c +@@ -1281,7 +1281,9 @@ simple_object_elf_copy_lto_debug_sections (simple_object_read *sobj, + } + if (new_i - 1 >= SHN_LORESERVE) + { ++#ifdef ENOTSUP + *err = ENOTSUP; ++#endif + return "Too many copied sections"; + } + eow->shdrs = XNEWVEC (unsigned char, shdr_size * (new_i - 1)); diff --git a/libquadmath/printf/quadmath-printf.h b/libquadmath/printf/quadmath-printf.h index 32ebcec928c..96498b7c408 100644 --- a/libquadmath/printf/quadmath-printf.h @@ -236,7 +418,7 @@ index 32ebcec928c..96498b7c408 100644 #else #define L_(x) x diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h b/libstdc++-v3/config/os/djgpp/error_constants.h -index 4ce342c9626..b89b07cb4be 100644 +index 4e5590f9160..f78405afa03 100644 --- a/libstdc++-v3/config/os/djgpp/error_constants.h +++ b/libstdc++-v3/config/os/djgpp/error_constants.h @@ -33,6 +33,15 @@ @@ -275,7 +457,7 @@ index 4ce342c9626..b89b07cb4be 100644 #ifdef _GLIBCXX_HAVE_EOWNERDEAD diff --git a/libstdc++-v3/include/experimental/bits/fs_path.h b/libstdc++-v3/include/experimental/bits/fs_path.h -index 512167f6f2d..de56387511e 100644 +index 456452bb317..921f23ed333 100644 --- a/libstdc++-v3/include/experimental/bits/fs_path.h +++ b/libstdc++-v3/include/experimental/bits/fs_path.h @@ -53,6 +53,11 @@ @@ -289,8 +471,8 @@ index 512167f6f2d..de56387511e 100644 + namespace std _GLIBCXX_VISIBILITY(default) { - namespace experimental -@@ -460,6 +465,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -461,6 +466,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 { #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS return __ch == L'/' || __ch == preferred_separator; @@ -299,7 +481,7 @@ index 512167f6f2d..de56387511e 100644 #else return __ch == '/'; #endif -@@ -826,6 +833,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 +@@ -827,6 +834,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS std::replace(_M_pathname.begin(), _M_pathname.end(), L'/', preferred_separator); @@ -309,7 +491,7 @@ index 512167f6f2d..de56387511e 100644 #endif return *this; } -@@ -997,7 +1007,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 +@@ -998,7 +1008,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 inline bool path::is_absolute() const { @@ -319,26 +501,11 @@ index 512167f6f2d..de56387511e 100644 return has_root_name(); #else return has_root_directory(); -diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc -index 8de3511346e..9da49f9b233 100644 ---- a/libstdc++-v3/src/filesystem/ops.cc -+++ b/libstdc++-v3/src/filesystem/ops.cc -@@ -269,8 +269,10 @@ namespace - return file_type::fifo; - else if (S_ISLNK(st.st_mode)) - return file_type::symlink; -+#ifdef S_ISSOCK - else if (S_ISSOCK(st.st_mode)) - return file_type::socket; -+#endif // s_ISSOCK - #endif - return file_type::unknown; - diff --git a/libstdc++-v3/src/filesystem/path.cc b/libstdc++-v3/src/filesystem/path.cc -index c66d52bf4b0..a4e5f348a24 100644 +index 4d84168d742..90c932d6901 100644 --- a/libstdc++-v3/src/filesystem/path.cc +++ b/libstdc++-v3/src/filesystem/path.cc -@@ -370,8 +370,13 @@ path::_M_split_cmpts() +@@ -371,8 +371,13 @@ path::_M_split_cmpts() _M_add_root_dir(0); ++pos; } @@ -353,4 +520,3 @@ index c66d52bf4b0..a4e5f348a24 100644 { // got disk designator _M_add_root_name(2); - |