[PATCH] libgcc: Include stdlib.h for abort() on mingw32
libgcc/ * config/i386/enable-execute-stack-mingw32.c: Include stdlib.h for abort() definition. Signed-off-by: Khem Raj --- libgcc/config/i386/enable-execute-stack-mingw32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libgcc/config/i386/enable-execute-stack-mingw32.c b/libgcc/config/i386/enable-execute-stack-mingw32.c index 99006d97a4e..563de02156a 100644 --- a/libgcc/config/i386/enable-execute-stack-mingw32.c +++ b/libgcc/config/i386/enable-execute-stack-mingw32.c @@ -23,6 +23,7 @@ <http://www.gnu.org/licenses/>. */ #define WIN32_LEAN_AND_MEAN +#include #include extern void __enable_execute_stack (void *); -- 2.43.0
Re: [PATCH v2] elf.c: initialize struct stat
On Mon, Apr 8, 2019 at 6:47 PM Yu, Mingli wrote: > > > > On 2019年04月08日 22:21, Jeff Law wrote: > > On 4/8/19 12:34 AM, mingli...@windriver.com wrote: > >> From: Mingli Yu > >> > >> Initialize struct stat to fix the below > >> build failure when -Og included in compiler flag. > >> | > >> ./../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c: > >> In function 'elf_is_symlink': > >> | > >> ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: > >> error: 'st.st_mode' may be used uninitialized in this function > >> [-Werror=maybe-uninitialized] > >> return S_ISLNK (st.st_mode); > >> > >> Signed-off-by: Mingli Yu > >> --- > >> libbacktrace/elf.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > > This is a false positive in -Wuninitialized that can be worked around by > > compiling with -O2. Please do that rather than compiling with -Og. > > Thanks Jeff for your respond! > > Hi Khem, > > If so, do we need to just to add some logic as DEBUG_OPTIMIZATION_append > = " -Wno-error" for gcc-sanitizers to avoid -Og indicating the > -Werror=maybe-uninitialized message? > yeah that would be fine. > Thanks, > > > > > jeff > >
[PATCH] lto-streamer.h: Include gimple.h for LAST_AND_UNUSED_GIMPLE_CODE.
gcc/: 2016-04-16 Khem Raj * lto-streamer.h: Include gimple.h for LAST_AND_UNUSED_GIMPLE_CODE. Fixes build errors e.g. | ../../../../../../../work-shared/gcc-6.0.0-r0/git/gcc/lto-streamer.h:159:34: error: 'LAST_AND_UNUSED_GIMPLE_CODE' was not declared in this scope |LTO_bb0 = 1 + MAX_TREE_CODES + LAST_AND_UNUSED_GIMPLE_CODE, --- gcc/lto-streamer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h index f391161..489801b 100644 --- a/gcc/lto-streamer.h +++ b/gcc/lto-streamer.h @@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see #include "plugin-api.h" #include "gcov-io.h" #include "diagnostic.h" +#include "gimple.h" /* Define when debugging the LTO streamer. This causes the writer to output the numeric value for the memory address of the tree node -- 2.8.0
[PATCH] opts-global.c: Include gimple.h for LAST_AND_UNUSED_GIMPLE_CODE.
gcc/: 2016-04-16 Khem Raj * opts-global.c: Include gimple.h for LAST_AND_UNUSED_GIMPLE_CODE. Fixes build errors e.g. | ../../../../../../../work-shared/gcc-6.0.0-r0/git/gcc/lto-streamer.h:159:34: error: 'LAST_AND_UNUSED_GIMPLE_CODE' was not declared in this scope |LTO_bb0 = 1 + MAX_TREE_CODES + LAST_AND_UNUSED_GIMPLE_CODE, --- gcc/opts-global.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/opts-global.c b/gcc/opts-global.c index 989ef3d..92fb9ac 100644 --- a/gcc/opts-global.c +++ b/gcc/opts-global.c @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see #include "plugin-api.h" #include "ipa-ref.h" #include "cgraph.h" +#include "gimple.h" #include "lto-streamer.h" #include "output.h" #include "plugin.h" -- 2.8.0
Re: [PATCH] opts-global.c: Include gimple.h for LAST_AND_UNUSED_GIMPLE_CODE.
On Thu, Apr 21, 2016 at 3:33 AM, Alexander Monakov wrote: > On Wed, 20 Apr 2016, Khem Raj wrote: > >> gcc/: >> 2016-04-16 Khem Raj >> >> * opts-global.c: Include gimple.h for LAST_AND_UNUSED_GIMPLE_CODE. >> >> Fixes build errors e.g. >> >> | >> ../../../../../../../work-shared/gcc-6.0.0-r0/git/gcc/lto-streamer.h:159:34: >> error: 'LAST_AND_UNUSED_GIMPLE_CODE' was not declared in this scope >> |LTO_bb0 = 1 + MAX_TREE_CODES + LAST_AND_UNUSED_GIMPLE_CODE, >> --- >> gcc/opts-global.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/gcc/opts-global.c b/gcc/opts-global.c >> index 989ef3d..92fb9ac 100644 >> --- a/gcc/opts-global.c >> +++ b/gcc/opts-global.c >> @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see >> #include "plugin-api.h" >> #include "ipa-ref.h" >> #include "cgraph.h" >> +#include "gimple.h" >> #include "lto-streamer.h" >> #include "output.h" >> #include "plugin.h" > > The context in this patch looks like old contents of opts-global.c, prior to > Andrew MacLeod's cleanups in December 2015. Right. Ignore this patch, I forgot that I had local patches in OpenEmbedded which should have been forward ported correctly. Here's how the includes look in > today's gcc-6 branch: > > 21 #include "config.h" > 22 #include "system.h" > 23 #include "coretypes.h" > 24 #include "backend.h" > 25 #include "rtl.h" > 26 #include "tree.h" > 27 #include "tree-pass.h" > 28 #include "diagnostic.h" > 29 #include "opts.h" > 30 #include "flags.h" > 31 #include "langhooks.h" > 32 #include "dbgcnt.h" > 33 #include "debug.h" > 34 #include "output.h" > 35 #include "plugin.h" > 36 #include "toplev.h" > 37 #include "context.h" > 38 #include "asan.h" > > Alexander
[PATCH] Fix parallel build
When building in parallel (with -j8 here) install-gcc-ar sometimes wants to install file before the destination directory is created. 2012-02-29 Khem Raj * Makefile.in (install-gcc-ar): Add dependency on installdirs. --- gcc/Makefile.in |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index f6cf8ff..91c5794 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -4811,7 +4811,7 @@ install-collect2: collect2 installdirs install-lto-wrapper: lto-wrapper$(exeext) $(INSTALL_PROGRAM) lto-wrapper$(exeext) $(DESTDIR)$(libexecsubdir)/lto-wrapper$(exeext) -install-gcc-ar: +install-gcc-ar: installdirs set -e ; \ for i in ar nm ranlib ; do \ install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\ -- 1.7.9
[PATCH] Cpp: honor sysroot location
Currently, if the gcc toolchain is relocated and installed from shared state cache, then you try and compile preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location rather than the --sysroot option specified on the commandline. If access to that directory is permission denied (unreadable), gcc will error. This happens when ccache is in use due to the fact it uses preprocessed source files. The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix, -isystem, -isysroot happen and the correct sysroot is used. --- gcc/cp/lang-specs.h | 2 +- gcc/gcc.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Signed-off-by: Khem Raj Signed-off-by: Yash Shinde > --- gcc/cp/lang-specs.h | 2 +- gcc/gcc.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h index c591d155cc1..61927869fe1 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h @@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see {".ii", "@c++-cpp-output", 0, 0, 0}, {"@c++-cpp-output", "%{!E:%{!M:%{!MM:" - " cc1plus -fpreprocessed %i %(cc1_options) %2" + " cc1plus -fpreprocessed %i %I %(cc1_options) %2" " %{!fsyntax-only:" "%{fmodule-only:%{!S:-o %g.s%V}}" "%{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" diff --git a/gcc/gcc.cc b/gcc/gcc.cc index becc56051a8..3bc98b67b50 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc @@ -1463,7 +1463,7 @@ static const struct compiler default_compilers[] = %W{o*:--output-pch %*}}%V}}}", 0, 0, 0}, {".i", "@cpp-output", 0, 0, 0}, {"@cpp-output", - "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)", 0, 0, 0}, + "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)", 0, 0, 0}, {".s", "@assembler", 0, 0, 0}, {"@assembler", "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A ", 0, 0, 0}, -- 2.39.0
[PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
The LINK_SPEC for linux gets overwritten by linux-eabi.h which means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result the option is not passed to linker when chosing march=armv4 This patch redefines this in linux-eabi.h and reinserts it for eabi defaulting toolchains. Signed-off-by: Khem Raj Signed-off-by: Yash Shinde --- gcc/config/arm/linux-eabi.h | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) --- gcc/config/arm/linux-eabi.h | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h index a119875599d..e8b64c17b01 100644 --- a/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h @@ -88,10 +88,14 @@ #define MUSL_DYNAMIC_LINKER \ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1" +/* For armv4 we pass --fix-v4bx to linker to support EABI */ +#undef TARGET_FIX_V4BX_SPEC +#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}" + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to use the GNU/Linux version, not the generic BPABI version. */ #undef LINK_SPEC -#define LINK_SPEC EABI_LINK_SPEC \ +#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) -- 2.34.1