aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
AgeCommit message (Collapse)AuthorFilesLines
2018-08-01runtime: use poll rather than pollset for netpoll on AIXIan Lance Taylor1-1/+1
Updates golang/go#26634 Reviewed-on: https://go-review.googlesource.com/126857 From-SVN: r263186
2018-07-27libgo: prune sighandler frames in runtime.sigprofIan Lance Taylor1-1/+1
When writing stack frames to the pprof CPU profile machinery, it is very important to insure that the frames emitted do not contain any frames corresponding to artifacts of the profiling process itself (signal handlers, sigprof, etc). This patch changes runtime.sigprof to strip out those frames from the raw stack generated by "runtime.callers". Fixes golang/go#26595. Reviewed-on: https://go-review.googlesource.com/126175 From-SVN: r263035
2018-07-20PR middle-end/82063 - issues with arguments enabled by -WallMartin Sebor2-1/+7
gcc/ada/ChangeLog: PR middle-end/82063 * gcc-interface/misc.c (gnat_handle_option): Change function argument to HOST_WIDE_INT. gcc/brig/ChangeLog: PR middle-end/82063 * brig/brig-lang.c (brig_langhook_handle_option): Change function argument to HOST_WIDE_INT. gcc/c-family/ChangeLog: PR middle-end/82063 * c-common.h (c_common_handle_option): Change function argument to HOST_WIDE_INT. * c-opts.c (c_common_init_options): Same. (c_common_handle_option): Same. Remove special handling of OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_. * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change options to take a HOST_WIDE_INT argument and accept a byte-size suffix. Initialize. (-Wvla-larger-than): Same. (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New. (-Wno-vla-larger-than): Same. gcc/fortran/ChangeLog: PR middle-end/82063 * gfortran.h (gfc_handle_option): Change function argument to HOST_WIDE_INT. * options.c (gfc_handle_option): Same. gcc/go/ChangeLog: PR middle-end/82063 * go-lang.c (go_langhook_handle_option): Change function argument to HOST_WIDE_INT. gcc/lto/ChangeLog: PR middle-end/82063 * lto-lang.c (lto_handle_option): Change function argument to HOST_WIDE_INT. gcc/testsuite/ChangeLog: PR middle-end/82063 * gcc/testsuite/c-c++-common/pr68657-1.c: Adjust. * gcc/testsuite/c-c++-common/pr68657-2.c: Same. * gcc/testsuite/c-c++-common/pr68657-3.c: Same. * gcc.dg/Walloc-size-larger-than-16.c: Same. * gcc.dg/Walloca-larger-than.c: New test. * gcc.dg/Walloca-larger-than-2.c: New test. * gcc.dg/Wframe-larger-than-2.c: New test. * gcc.dg/Wlarger-than3.c: New test. * gcc.dg/Wvla-larger-than-3.c: New test. * gcc.dg/pr42611.c: Adjust. * gnat.dg/frame_overflow.adb: Same. gcc/ChangeLog: PR middle-end/82063 * builtins.c (expand_builtin_alloca): Adjust. * calls.c (alloc_max_size): Simplify. * cgraphunit.c (cgraph_node::expand): Adjust. * common.opt (larger_than_size, warn_frame_larger_than): Remove variables. (frame_larger_than_size): Same. (-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Change options to take a HOST_WIDE_INT argument and accept a byte-size suffix. Initialize. * doc/invoke.texi (GCC Command Options): Document option arguments. Explain byte-size arguments and suffixes. (-Wvla-larger-than, -Wno-alloc-size-larger-than): Update. (-Wno-alloca-larger-than, -Wno-vla-larger-than): Same. (-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Same. * doc/options.texi (UInteger): Expand. (Host_Wide_Int, ByteSize): Document new properties. * final.c (final_start_function_1): Include sizes in an error message. * function.c (frame_offset_overflow): Same. * gimple-ssa-warn-alloca.c (pass_walloca::gate): Adjust. (alloca_call_type_by_arg): Change function argument to HOST_WIDE_INT. Diagnose unbounded alloca calls only for limits of less than PTRDIFF_MAX. (alloca_call_type): Adjust. Diagnose possibly out-of-bounds alloca calls and VLA size only for limits of less than PTRDIFF_MAX. Same for alloca(0). (pass_walloca::execute): Adjust. Diagnose alloca calls in loops only for limits of less than PTRDIFF_MAX. * langhooks-def.h (lhd_handle_option): Change function argument to HOST_WIDE_INT. * langhooks.c (lhd_handle_option): Same. * langhooks.h (handle_option): Same. * opt-functions.awk (switch_bit_fields): Handle Host_Wide_Int and ByteSize flags. (var_type, var_type_struct): Same. (var_set): Handle ByteSize flag. * optc-gen.awk: Add comments to output to ease debugging. Make use of HOST_WIDE_INT where appropriate. * opts-gen-save.awk: Use %lx to format unsigned long. * opth-gen.awk: Change function argument to HOST_WIDE_INT. * opts-common.c (integral_argument): Return HOST_WIDE_INT and add arguments. Parse bytes-size suffixes. (enum_arg_to_value): Change function argument to HOST_WIDE_INT. (enum_value_to_arg): Same. (decode_cmdline_option): Handle cl_host_wide_int. Adjust. (handle_option): Adjust. (generate_option): Change function argument to HOST_WIDE_INT. (cmdline_handle_error): Adjust. (read_cmdline_option): Change function argument to HOST_WIDE_INT. (set_option): Change function argument to HOST_WIDE_INT. (option_enabled): Handle cl_host_wide_int. (get_option_state): Handle CLVC_SIZE. (control_warning_option): Same. * opts.c (common_handle_option): Change function argument to HOST_WIDE_INT. Remove handling of OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_. * opts.h (enum cl_var_type): Add an enumerator. * stor-layout.c (layout_decl): Print a more meaningful warning. * toplev.c (output_stack_usage): Adjust. From-SVN: r262910
2018-07-20compiler: do order_evaluations before remove_shortcutsIan Lance Taylor3-208/+225
In remove_shortcuts, the shortcut expressions (&&, ||) are rewritten to if statements, which are lifted out before the statement containing the shortcut expression. If the containing statement has other (sub)expressions that should be evaluated before the shortcut expression, which has not been lifted out, this will result in wrong evaluation order. For example, F() + G(A() && B()), the evaluation order per spec is F, A, B (if A returns true), G. If we lift A() and B() out first, they will be called before F, which is wrong. To fix this, we split order_evaluations to two phases. The first phase, which runs before remove_shortcuts, skips shortcut expressions' components. So it won't lift out subexpressions that are evaluated conditionally. The shortcut expression itself is ordered, since it may have side effects. Then we run remove_shortcuts. At this point the subexpressions that should be evaluated before the shortcut expression are already lifted out. remove_shortcuts also runs the second phase of order_evaluations to order the components of shortcut expressions, which were skipped during the first phase. Reorder the code blocks of remove_shortcuts and order_evaluations, since remove_shortcuts now calls Order_eval. Fixes golang/go#26495. Reviewed-on: https://go-review.googlesource.com/125299 From-SVN: r262908
2018-07-17compiler: don't set btype_ too early for alias typeIan Lance Taylor2-3/+5
CL 123362 introduced a bug in creating alias type's backend representation. A type's btype_ should not be set before named types are converted if it is a placeholder. For alias type, it is set too early. This may result in unresolved placeholders. This CL fixes it. Reviewed-on: https://go-review.googlesource.com/123975 From-SVN: r262833
2018-07-17compiler: connect the concrete type and the placeholder for circular typesIan Lance Taylor3-24/+5
Previously, when creating the backend representation of a circular type, we resolve the placeholder to a circular_pointer_type. The backend doesn't know what the concrete type is. This CL changes it to resolve the placeholder to the concrete type instead, so the backend may have better knowledge of the concrete type. Reviewed-on: https://go-review.googlesource.com/123738 From-SVN: r262830
2018-07-13runtime: skip zero-sized fields in structs when converting to FFIIan Lance Taylor1-1/+1
The libffi library doesn't understand zero-sized objects. When we see a zero-sized field in a struct, just skip it when converting to the FFI data structures. There is no value to pass in any case, so not telling libffi about the field doesn't affect anything. The test case for this is https://golang.org/cl/123316. Fixes golang/go#26335 Reviewed-on: https://go-review.googlesource.com/123335 From-SVN: r262651
2018-07-13compiler: fix parsing of composite literals with omitted pointer typesIan Lance Taylor2-1/+2
The frontend could parse omitted pointer typess at the end of the type, but not in the middle, so code like []*[][]int{{{1}}} failed. Test case is in https://golang.org/cl/123477. Fixes golang/go#26340 Reviewed-on: https://go-review.googlesource.com/123479 From-SVN: r262641
2018-07-12compiler: build a single backend type for type aliasIan Lance Taylor3-2/+7
A type alias and its underlying type are identical. Build a single backend type for them. Previously we build two backend types, which sometimes confuse the backend's type system. Also don't include type aliases into the list of named type declarations, since they are not named types. Reviewed-on: https://go-review.googlesource.com/123362 From-SVN: r262572
2018-07-11compiler: fix evaluation order of LHS index expressionsIan Lance Taylor3-21/+23
The spec says that when an index expression appears on the left hand side of an assignment, the operands should be evaluated. The gofrontend code was assuming that that only referred to the index operand. But discussion of https://golang.org/issue/23188 has clarified that this means both the slice/map/string operand and the index operand. Adjust the gofrontend code accordingly. Fixes golang/go#23188 Reviewed-on: https://go-review.googlesource.com/123155 From-SVN: r262554
2018-07-10compiler: fix double evaluation with interface field expressionIan Lance Taylor2-4/+3
In Interface_field_reference_expression, the interface expression is used in two places, so a temporary variable is used. Previously, we used a Set_and_use_temporary_expression, which, when evaluated twice, causes double evaluation of the underlying expression. Fix by setting the temporary once and use Temporary_reference_expression instead. Fixes golang/go#26248. Reviewed-on: https://go-review.googlesource.com/122756 From-SVN: r262533
2018-07-02re PR go/86331 (the gccgo's "go" tool looks like failing to invoke any sub ↵Ian Lance Taylor1-1/+1
go command) PR go/86331 os: check return value as well as error from waitid https://gcc.gnu.org/PR86331 indicates that if a signal handler runs it is possible for syscall.Syscall6 to return a non-zero errno value even if no error occurs. That is a problem in general, but this fix will let us work around the general problem for the specific case of calling waitid. Reviewed-on: https://go-review.googlesource.com/121595 From-SVN: r262313
2018-06-28runtime: don't stat a NULL filenameIan Lance Taylor1-1/+1
Noticed in https://gcc.gnu.org/PR86331. Reviewed-on: https://go-review.googlesource.com/121417 From-SVN: r262234
2018-06-28re PR go/86343 (types built by GO share TYPE_FIELDS in unsupported way)Ian Lance Taylor2-1/+7
PR go/86343 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call build_variant_type_copy rather than build_distinct_type_copy. From-SVN: r262225
2018-06-25compiler: improve escape analysisIan Lance Taylor2-53/+81
This CL ports recent enhancements of the escape analysis in the gc compiler to gofrontend. - CL 99335: unnamed receiver should not escape. - CL 105257: propagate loop depth to field. This prevents it from escaping when a field's address is taken inside a loop (but not otherwise escape). - CL 107597: use element type for "indirection" of slice/string. This prevents the slice/string from escaping when only the element, in case that it is pointerless, flows to outer scope. Reviewed-on: https://go-review.googlesource.com/120760 From-SVN: r262120
2018-06-23runtime: use #ifdef instead of #if for USING_SPLIT_STACKIan Lance Taylor1-1/+1
USING_SPLIT_STACK is configured as defined/undefined, not 0/1. Most of the places test USING_SPLIT_STACK with #ifdef, with a few exceptions. This CL fixes the exceptions. Reviewed-on: https://go-review.googlesource.com/120596 From-SVN: r261980
2018-06-22syscall: remove UstatIan Lance Taylor1-1/+1
glibc 2.28 removes ustat.h and the ustat function entirely, which breaks syscall.Ustat. Updates golang/go#25990 Reviewed-on: https://go-review.googlesource.com/120535 From-SVN: r261896
2018-06-21cmd/go: re-enable a couple of tests of gccgoIan Lance Taylor1-1/+1
Port https://golang.org/cl/120375 over to the gofrontend repo so that it gets more reliable testing. Updates golang/go#22472 Reviewed-on: https://go-review.googlesource.com/120395 From-SVN: r261871
2018-06-13compiler: avoid introducing redundant write barriersIan Lance Taylor4-10/+29
The traversal used by the write barrier insertion phase can sometimes wind up visiting new statements inserted during the traversal, which then results in duplicate / redundant write barrier guards. Example program to reproduce: package small type S struct { N *S K int } var G *S = &S{N: nil, K: 101} This patch changes the traversal code to keep track of statements already added and avoid processing them again later in the traversal. Fixes golang/go#25867 Reviewed-on: https://go-review.googlesource.com/118637 From-SVN: r261568
2018-06-13compiler: include global variable preinit blocks in ast dumpsIan Lance Taylor2-2/+26
Dump out the blocks corresponding to variable pre-inits when -fgo-dump-ast is in effect. Each preinit block is prefixed with a comment indicating the variable it is initializing. Reviewed-on: https://go-review.googlesource.com/118636 From-SVN: r261555
2018-06-13libgo: update to Go 1.10.3 releaseIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/118495 From-SVN: r261549
2018-06-11libgo: add riscv and js/wasm as known targetsIan Lance Taylor1-1/+1
Incorporates cut down versions of https://golang.org/cl/102835 and https://golang.org/cl/106256 from the master sources. This will tell go/build to skip files with those tags. Reviewed-on: https://go-review.googlesource.com/117996 From-SVN: r261451
2018-06-08compiler: remove stack_allocation_expressionCherry Zhang3-21/+5
Now we make temporaries for allocations on stack (CL 86242). This function is no longer used. Remove. Reviewed-on: https://go-review.googlesource.com/92618 * go-gcc.cc (class Gcc_backend): Remove stack_allocation_expression method. From-SVN: r261353
2018-06-07compiler: speed up variable initializer sortingIan Lance Taylor2-97/+193
The compiler used to do variable initializer sorting by looping through all the initialized variables and, for each one, looping through all the initialized variables and checking for a dependency. For very large packages with thousands of initialized global variables, this quadratic loop could take quite a long time. Change the approach to first loop through all the initialized variables and fetch all the references to other variables from the initialization code. Then, loop through them again and this time add a dependency for each referenced, initialized, variable, while checking for initialization loops. We still have a nested loop, but this time the inner loop should normally be short--just the list of referenced variables, not the list of all variables. Reviewed-on: https://go-review.googlesource.com/116816 From-SVN: r261284
2018-06-06reflect: fix StructOf hash and stringIan Lance Taylor1-1/+1
Adjust the hash and string fields computed by StructOf to match the values that the compiler computes for a struct type with the same field names and types. This makes the reflect code match the compiler's Type::hash_for_method and Type::reflection methods. Fixes golang/go#25284 Reviewed-on: https://go-review.googlesource.com/116515 From-SVN: r261235
2018-06-05reflect: canonicalize types returned by StructOf() and friendsIan Lance Taylor1-1/+1
Background: since gccgo does not currently merge identical types at link time, the reflect function canonicalize() exists to choose a canonical specimen for each set of identical types. In this way, user code has the guarantee that identical types will always compare as == Change: arrange reflect functions MapOf(), SliceOf(), StructOf() etc. to call canonicalize() on the types they create, before storing the types in internal lookup caches and returning them. This fixes known cases where canonicalize() is needed but was missing. Supersedes https://golang.org/cl/112575 and mostly fixes issue 25284. Updates golang/go#25284 Reviewed-on: https://go-review.googlesource.com/115577 From-SVN: r261216
2018-06-04compiler: fix crashes on cyclic var/type referencesIan Lance Taylor3-5/+17
This patch fixes type traversal to avoid compiler crashes for test cases where a type T includes an expression that refers back to the type without actually explicitly mentioning T. Examples include var x [uintptr(unsafe.Sizeof(&x))]byte var a [len(a)]int The fix involves expanding the set of types that the traversal code "remembers" (to avoid cycles) to include array types, and introducing an additional guard in Builtin_call_expression::do_is_constant to catch cyclic type constructs. Fixes golang/go#25299 Fixes golang/go#25679 Fixes golang/go#25315 Fixes golang/go#25680 Reviewed-on: https://go-review.googlesource.com/115796 From-SVN: r261168
2018-05-31libgo: update to Go 1.10.2 releaseIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/115196 From-SVN: r261041
2018-05-30cmd/go, cmd/vet: make vet work with gccgoIan Lance Taylor1-1/+1
Backport https://golang.org/cl/113715 and https://golang.org/cl/113716: cmd/go: don't pass -compiler flag to vet Without this running go vet -compiler=gccgo causes vet to fail. The vet tool does need to know the compiler, but it is passed in vetConfig.Compiler. cmd/go, cmd/vet, go/internal/gccgoimport: make vet work with gccgo When using gccgo/GoLLVM, there is no package file for a standard library package. Since it is impossible for the go tool to rebuild the package, and since the package file exists only in the form of a .gox file, this seems like the best choice. Unfortunately it was confusing vet, which wanted to see a real file. This caused vet to report errors about missing package files for standard library packages. The gccgoimporter knows how to correctly handle this case. Fix this by 1) telling vet which packages are standard; 2) letting vet skip those packages; 3) letting the gccgoimporter handle this case. As a separate required fix, gccgo/GoLLVM has no runtime/cgo package, so don't try to depend on it (as it happens, this fixes golang/go#25324). The result is that the cmd/go vet tests pass when using -compiler=gccgo. Reviewed-on: https://go-review.googlesource.com/114516 From-SVN: r260913
2018-05-30crypto/x509: specify path to AIX certificate fileIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/113179 From-SVN: r260908
2018-05-09go/build, cmd/go: update to match recent changes to gcIan Lance Taylor1-1/+1
Several recent changes to the gc version of cmd/go improve the gofrontend support. These changes are partially copies of existing gofrontend differences, and partially new code. This CL makes the gofrontend match the upstream code. The changes included here come from: https://golang.org/cl/111575 https://golang.org/cl/111595 https://golang.org/cl/111635 https://golang.org/cl/111636 For the record, the following recent gc changes are based on code already present in the gofrontend repo: https://golang.org/cl/110915 https://golang.org/cl/111615 For the record, a gc change, partially based on earlier gofrontend work, also with new gc code, was already copied to gofrontend repo in CL 111099: https://golang.org/cl/111097 This moves the generated list of standard library packages from cmd/go/internal/load to go/build. Reviewed-on: https://go-review.googlesource.com/112475 gotools/: * Makefile.am (check-go-tool): Don't copy zstdpkglist.go. * Makefile.in: Rebuild. From-SVN: r260097
2018-05-04cmd/go: on AIX, pass -X64 first when invoking arIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/111535 From-SVN: r259946
2018-05-04libgo: fix for unaligned read in go-unwind.c's read_encoded_value()Ian Lance Taylor1-1/+1
Change code to work properly reading unaligned data on architectures that don't support unaliged reads. This fixes a regression (broke Solaris/sparc) introduced in https://golang.org/cl/90235. Reviewed-on: https://go-review.googlesource.com/111296 From-SVN: r259935
2018-05-04cmd/go: update mkalldocs.shIan Lance Taylor1-1/+1
Update mkalldocs.sh from the current master sources, replacing the old mkdoc.sh. Reviewed-on: https://go-review.googlesource.com/111096 From-SVN: r259920
2018-05-04cmd/go: enable tests of vet toolIan Lance Taylor1-1/+1
Since gofrontend does have the vet tool now, we can test it. Reviewed-on: https://go-review.googlesource.com/111095 From-SVN: r259919
2018-05-04cmd/go: update to match recent changes to gcIan Lance Taylor1-1/+1
In https://golang.org/cl/111097 the gc version of cmd/go was updated to include some gofrontend-specific changes. The gofrontend code already has different versions of those changes; this CL makes the gofrontend match the upstream code. Reviewed-on: https://go-review.googlesource.com/111099 From-SVN: r259918
2018-05-03compiler: avoid crashing on invalid non-integer array lengthIan Lance Taylor2-1/+11
Tweak the array type checking code to avoid crashing on array types whose length expressions are explicit non-integer types (for example, "float64(10)"). If such constructs are seen, issue an "invalid array bound" error. Fixes golang/go#13486. Reviewed-on: https://go-review.googlesource.com/91975 From-SVN: r259900
2018-05-03cmd/go: run tests that require package build IDsIan Lance Taylor1-1/+1
These tests used to be disabled in the gofrontend since the go tool didn't support build IDs for the gofrontend. It does now, so enable the tests again. Reviewed-on: https://go-review.googlesource.com/111098 From-SVN: r259875
2018-05-02libgo: add type/const references to sysinfo.cIan Lance Taylor1-1/+1
This patch adds explicit references to various types and constants defined by the header files included by sysinfo.c (used to drive the generation of gen-sysinfo.go as part of the libgo build via the GCC "-fdump-go-spec" option). The intent is to enable clients to gather the same info generated by "-fdump-go-spec" by instead reading the generated DWARF from a sysinfo.o object file compiled with "-g". Some compilers (notably clang) try to omit DWARF records for a given type unless there is an explicit use of it in the translation unit; the additional references are to insure that everything we want to see in the DWARF shows up. Reviewed-on: https://go-review.googlesource.com/99063 From-SVN: r259868
2018-05-02libgo: add support for the Nios II architectureIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/90775 From-SVN: r259866
2018-05-01re PR go/85429 (Several gotools tests FAIL with Solaris as)Ian Lance Taylor1-1/+1
PR go/85429 cmd/go: support more Solaris assembler syntaxes Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/110563 From-SVN: r259797
2018-04-27re PR go/85429 (Several gotools tests FAIL with Solaris as)Ian Lance Taylor1-1/+1
PR go/85429 cmd/go: add Solaris assembler syntax for gccgo buildid file The Solaris assembler uses a different syntax for section directives. This is https://golang.org/cl/109140 ported over to gccgo. Reviewed-on: https://go-review.googlesource.com/109141 From-SVN: r259719
2018-04-20gotest: only use [TD] on big-endian PPC64 non-AIX systemsIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/108457 From-SVN: r259531
2018-04-17os/signal: disable loading of history during testIan Lance Taylor1-1/+1
Bring in https://golang.org/cl/98616 from gc tip. Original CL description: This change modifies Go to disable loading of users' shell history for TestTerminalSignal tests. TestTerminalSignal, as part of its workload, will execute a new interactive bash shell. Bash will attempt to load the user's history from the file pointed to by the HISTFILE environment variable. For users with large histories that may take up to several seconds, pushing the whole test past the 5 second timeout and causing it to fail. Reviewed-on: https://go-review.googlesource.com/107624 From-SVN: r259452
2018-04-17gccgo: suppress "ar rcD" and "-zdefs" on AIXIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/100955 From-SVN: r259445
2018-03-26runtime: don't check for stale runtimeIan Lance Taylor1-1/+1
The gccgo runtime is never stale, and on a system with gc sources in ~/go the test may wind up checking whether the gc runtime is stale. Reviewed-on: https://go-review.googlesource.com/102282 From-SVN: r258865
2018-03-16libgo: add runtime/pprof/internal/profile.gox to noinst_DATAIan Lance Taylor1-1/+1
Also add noinst_DATA to CHECK_DEPS; it's not needed in practice since `make` will build noinst_DATA, but it's logically required and will make a difference if any of the noinst_DATA sources change between `make` and `make check`. Tony Reix figured out why omitting packages from noinst_DATA didn't seem to matter: because if gccgo can't find foo.gox, it will fall back to reading the export data in foo.o, and foo.o will exist because these packages go into libgo.a. Reviewed-on: https://go-review.googlesource.com/101077 From-SVN: r258606
2018-03-15cmd/go: force LANG=C when looking for compiler versionIan Lance Taylor1-1/+1
Tested by installing the gcc-locales package and running LANG=de_DE.utf8 go build hello.go Without this change, that fails, as described at https://gcc.gnu.org/PR84765. Reviewed-on: https://go-review.googlesource.com/100737 From-SVN: r258565
2018-03-09commit ce28919112dbb234366816ab39ce060ad45e8ca9Ian Lance Taylor1-1/+1
Makefile: add internal/trace to noinst_DATA The internal/trace package is only imported by tests (specifically the tests in runtime/trace) so it must be in noinst_DATA to ensure that it is built before running the tests. This was mostly working because internal/trace has tests itself, and is listed in check-packages.txt before runtime/trace, so typical invocations of make would build internal/trace for checking purposes before checking runtime/trace. But we need this change to make that reliable. Reviewed-on: https://go-review.googlesource.com/99836 From-SVN: r258392
2018-03-07runtime: push arena on AIX higher due to clashesIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/99117 From-SVN: r258337