On 7/15/2013 06:02, Kai Tietz wrote: > 2013/7/13 JonY <10wa...@gmail.com>: >> On 7/10/2013 20:43, JonY wrote: >>> Hi, >>> >>> Attached are some minor patches, comments? >>> >> >> Kai, ping? > > > Please sent each patch as separate mail, and please add ChangeLogs for > them too. Additionally it would be fine to read some lines about > cause for those patches. > > Kai >
This patch makes gcc accept -pthread and -rdynamic for compatibility with Linux. Add --large-address-aware, and use --tsaware, only with EXEs. Changelog 2013-03-08 Dave Korn <dave.korn.cyg...@gmail.com> * (gcc/config.gcc): Include Cygwin specific file. * (gcc/config/i386/cygwin.h): Link shared libgcc by default. * (gcc/config/i386/cygwin.h): Add --large-address-aware, and use --tsaware for exes * (gcc/config/i386/cygwin.h): Add -pthreads, -rdynamic stubs. * (gcc/config/i386/cygwin.opt): New file.
Accept -pthread and -rdynamic for compatibility with Linux. Add --large-address-aware, and use --tsaware, only with EXEs. --- origsrc/gcc-4.7.2/gcc/config.gcc 2012-09-12 04:03:54.000000000 -0500 +++ src/gcc-4.7.2/gcc/config.gcc 2013-03-11 03:41:03.674656700 -0500 @@ -1417,7 +1417,7 @@ i[34567]86-*-cygwin*) xm_file=i386/xm-cygwin.h tmake_file="${tmake_file} i386/t-cygming t-slibgcc" target_gtfiles="\$(srcdir)/config/i386/winnt.c" - extra_options="${extra_options} i386/cygming.opt" + extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt" extra_objs="winnt.o winnt-stubs.o" c_target_objs="${c_target_objs} msformat-c.o" cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" --- origsrc/gcc-4.7.2/gcc/config/i386/cygwin.h 2012-02-13 15:46:38.000000000 -0600 +++ src/gcc-4.7.2/gcc/config/i386/cygwin.h 2013-03-06 00:13:25.986558800 -0600 @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. #define EXTRA_OS_CPP_BUILTINS() /* Nothing. */ #undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \ +#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{pthread: } \ -D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix \ %{mwin32:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}} \ %{!nostdinc:%{!mno-win32:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}}\ @@ -49,11 +49,7 @@ along with GCC; see the file COPYING3. %{static|static-libgcc:-lgcc -lgcc_eh} \ %{!static: \ %{!static-libgcc: \ - %{!shared: \ - %{!shared-libgcc:-lgcc -lgcc_eh} \ - %{shared-libgcc:-lgcc_s -lgcc} \ - } \ - %{shared:-lgcc_s -lgcc} \ + -lgcc_s -lgcc \ } \ } " #else @@ -72,6 +72,7 @@ along with GCC; see the file COPYING3. #undef LIB_SPEC #define LIB_SPEC "\ %{pg:-lgmon} \ + %{pthread: } \ -lcygwin \ %{mwindows:-lgdi32 -lcomdlg32} \ -ladvapi32 -lshell32 -luser32 -lkernel32" @@ -115,7 +116,9 @@ along with GCC; see the file COPYING3. %{shared: --shared} %{mdll:--dll} \ %{static:-Bstatic} %{!static:-Bdynamic} \ %{shared|mdll: --enable-auto-image-base -e __cygwin_dll_entry@12} \ - --dll-search-prefix=cyg -tsaware" + --dll-search-prefix=cyg \ + %{rdynamic: --export-all-symbols} \ + %{!shared: %{!mdll: --large-address-aware --tsaware}}" /* Binutils does not handle weak symbols from dlls correctly. For now, do not use them unnecessarily in gthr-posix.h. */ --- origsrc/gcc-4.7.2/gcc/config/i386/cygwin.opt 1969-12-31 18:00:00.000000000 -0600 +++ src/gcc-4.7.2/gcc/config/i386/cygwin.opt 2013-03-11 03:36:36.556378400 -0500 @@ -0,0 +1,27 @@ +; Cygwin-specific options. + +; Copyright (C) 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. +; +; This file is part of GCC. +; +; GCC 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 3, or (at your option) any later +; version. +; +; GCC 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 COPYING3. If not see +; <http://www.gnu.org/licenses/>. + +pthread +Driver + +rdynamic +Driver + +; Retain blank line above
signature.asc
Description: OpenPGP digital signature