Commit Graph

1360 Commits

Author SHA1 Message Date
lukem 5622c47680 bsd.own.mk: sort the CC_WNO variables 2023-09-02 12:09:10 +00:00
rin f8b4e528be bsd.own.mk: Switch mips64e[bl] to binutils 2.39 again
Potential fix for PR toolchain/57241 has been committed.
Let us see whether this works fine or not.
2023-08-24 06:18:07 +00:00
rin b7377c06a9 bsd.own.mk: Put gdb back for m68000
However, unfortunately, it does not work even if MAXTSIZ is bumped.
It seems to be too large for 24-bit address space.

This is not a regression; gdb.old does not work also.
2023-08-20 02:11:21 +00:00
christos 8f452ed84f Add elfedit (needed to tag binaries as linux) from GSoC 2023 (Theodore Preduta) 2023-08-19 22:58:15 +00:00
wiz adb944c5df fix typo in previous 2023-08-13 21:52:32 +00:00
christos d0b5c4dbc0 sun2 can't make gdb anymore. there is no gmp because no gcc. 2023-08-13 21:17:05 +00:00
christos b25c1038e8 switch everyone to gdb-13.2 2023-08-11 20:29:17 +00:00
christos 945f88fd2e put back the new gdb 2023-08-09 14:57:19 +00:00
mrg 832d47522a introduce new GCC 12 warning disables and use them in a few places
this introduces 4 new warning disable flags:

   CC_WNO_MISSING_TEMPLATE_KEYWORD
   CC_WNO_REGISTER
   CC_WNO_STRINGOP_OVERREAD
   CC_WNO_ARRAY_BOUNDS

and documents them in README.warnings.  of these, the string op
and array bounds are both problematic (real bugs) and also spurious
(not real bugs), and the other 2 are mostly temporary for older
3rd party code.

add some new uses of CC_WNO_STRINGOP_OVERFLOW.

fix m68k build for gallium and GCC 12.
2023-08-08 06:27:31 +00:00
mrg 69fe22838c put amd64 back to GDB 11. it doesn't build for me, or others.
the first problem is that this rule:

GDBvn.texi: ${DIST}/gdb/version.in
	echo "@set GDBVN $$(${TOOL_CAT} ${.ALLSRC})" > ${.TARGET}

conflicts with the "GDBvn.texi" in the source tree and fail to write
this file with r/o source trees.

the second problem is that gdbserver fails to link because it compiles
the wrong file to create target.o.  this seems like a very bad make or
bsd.*.mk bug -- "SRCS= .. target.cc ...", and yet, make manages to
compile the file "target.c" to create target.o, and then the required
symbols the rest of gdbserver needs are missing.

the third problem is that when you make it build the right target.cc,
it wants bfd.h, and gmp.h, and even after solving those issues, i'm
still getting a fourth issue linking gdbserver and thus reverting.
2023-08-08 03:44:12 +00:00
christos acba6b74f4 switch gdb to 13.20 for x86_64 2023-08-06 20:44:49 +00:00
rin f91ef6a605 bsd.own.mk: Revert CC_WNO_USE_AFTER_FREE
This is an undefined behavior in general. Implementation details of
pointer are not defined in C standards; it is not necessarily address
of memory objects.

Pointed out by uwe@. Thanks!!
2023-08-03 14:55:54 +00:00
rin da04be2518 bsd.own.mk: Introduce CC_WNO_USE_AFTER_FREE for GCC12
-Wuse-after-free for GCC 12 is premature. It fires on a common idiom:

	newbuf = realloc(buf, size);
	p = newbuf + (p - buf);

Let shut this up for GCC 12 (with hoping it gets improved for 13!).
2023-08-03 13:33:26 +00:00
mrg 718c7faca0 we skipped GCC 11, so change the test to GCC 12. 2023-08-01 06:52:06 +00:00
christos ea52ff2b8a we ended up importing 13.2 2023-07-31 17:35:31 +00:00
lukem 07c42e4bc2 bsd.own.mk: force MKSTRIPSYM=no if MKDEBUG=yes
Local symbols are desirable with MKDEBUG=yes, so don't strip them.
Per request from mrg@
2023-07-23 16:52:37 +00:00
lukem cff541e1aa bsd.own.mk: style: block comments, move CC_flag vars
Add #{ .. #} block comments to a long conditional.

Move the CC_flag variables closer to other compiler-related
variables instead of being in the middle of some arch-specific
overrides.
2023-07-23 16:49:29 +00:00
riastradh 17503da2a0 bsd.own.mk: Use MACHINE_ARCH for default MKCTF/MKDTRACE=yes x86.
The substantive impact of this is that it enables MKCTF=yes for Xen
kernels.  This is a change because, when building a Xen kernel
(XEN3_DOM0, XEN3_DOMU), MACHINE is set to `xen', not to `i386' or
`amd64', so the conditional never took effect.

(The side effect of setting MKDTRACE=yes when building Xen kernels is
unlikely to matter; that affects module and userland builds.)

PR port-xen/57535

XXX pullup-10
2023-07-21 20:03:13 +00:00
lukem 5b36091254 sets: enhance MAKEVERBOSE support
Add more messages for various sets operations.
Add ${_MKMSG_CREATE} to bsd.own.mk.

Enhance maketars to be a bit more verbose even with -q,
to make it more obvious why certain operations may be slow.
May help debugging PR 47562.
2023-06-10 16:08:41 +00:00
lukem 2ffa4e20ef bsd.*.mk: move MKSTRIPSYM default to bsd.own.mk
Add default for MKSTRIPSYM=yes to to bsd.own.mk _MKVARS.no.
Test ${MKSTRIPSYM} != "no".
2023-06-03 21:24:57 +00:00
lukem 23c510a48b bsd.obj.mk: move MKHOSTOBJ to bsd.own.mk
Add default for MKHOSTOBJ=no to to bsd.own.mk _MKVARS.no.
Simplify bsd.obj.mk check.
2023-06-03 21:23:49 +00:00
lukem 3b104e300e bsd.dep.mk: move MKDEPINCLUDES to bsd.own.mk
Add default for MKDEPINCLUDES=no to to bsd.own.mk _MKVARS.no.
Simplify bsd.dep.mk check.
2023-06-03 21:23:07 +00:00
lukem b3558439e9 bsd.*.mk: move MKCLEAN* to bsd.own.mk
Move the defaults for MKCLEANSRC and MKCLEANVERIFY
from bsd.clean.mk to bsd.own.mk _MKVARS.yes.
2023-06-03 21:21:32 +00:00
lukem c4b7a9e794 bsd.own.mk: rename GCC_NO_* to CC_WNO_*
Rename compiler-warning-disable variables from
	GCC_NO_warning
to
	CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
2023-06-03 09:09:01 +00:00
lukem f937c412f3 bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER
Provide a single variable
	CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
	CLANG_NO_ADDR_OF_PACKED_MEMBER
	CC_NO_ADDR_OF_PACKED_MEMBER
	GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
2023-06-03 08:52:53 +00:00
lukem b329684b89 bsd.own.mk: obsolete non-MK variants MANZ UNPRIVED UPDATE
Remove support for variables deprecated 20 years ago
by their MK* equivalents.
2023-06-02 14:30:23 +00:00
lukem b2387f1a6b bsd.own.mk: describe recent convention in comments 2023-06-01 21:54:17 +00:00
lukem 09ef972abc bsd.own.mk: MKPERFUSE isn't used anywhere
perfuse is built unconditionally, and MKPERFUSE
isn't tested anywhere.
2023-06-01 21:50:26 +00:00
lukem 70c6660252 bsd.own.mk: MKLLD, MKLLDB, MKMCLINKER are obsolete
MKLLD, MKLLDB, MKMCLINKER aren't used in the build,
so remove them.

These were obsoleted by joerg@ on 2019-11-11
with the update of LLVM to 10.0.0git (01f3a59).
2023-06-01 21:47:19 +00:00
lukem ea42860061 bsd.own.mk: support ${MACHINE} defaults in MK* = yes
For MK* variables (in _MKVARS.yes), default to
MK*.${MACHINE} if MK*.${MACHINE_ARCH} isn't defined.

Equivalent to _MKVARS.no change by mrg@ in rev 1.1065 on 2018-06-16.
2023-05-31 20:47:35 +00:00
lukem 5d3629a706 bsd.own.mk: sort lists. whitespace fixes
Create _NOVARS for the list of NO* variables,
for consistency with _MKVARS.yes and _MKVARS.no

Format _NOVARS, _MKVARS.yes, and _MKVARS.no with
one entry per line, and sort the lists.
Simplifies review and adding new entries.
Per suggestion from riastradh@

Line up some variable assignments more consistently.
2023-05-31 20:45:02 +00:00
lukem 11f18d4109 bsd.own.mk: rename NO_ADDR_OF_PACKED_MEMBER to CC_NO_ADDR_OF_PACKED_MEMBER
Add "CC_" prefix to NO_ADDR_OF_PACKED_MEMBER.

We now have the following convention:
GCC_NO_*: Disable specific warnings from GCC.
CLANG_NO_*: Disable specific warnings from Clang.
CC_NO_*: Disable specific warnings from both Clang and GCC.

This reserves "NO_*" Makefile variables to disable other features.

Some space->tab fixes.
2023-05-29 20:31:09 +00:00
lukem 0c67090a00 bsd.own.mk: sort list of NO* variables
List the NO variables in order, leaving enough room to add more entries,
not splitting the next letter after "NO" across a line.

No functional change; just prettier and easier to review.
2023-05-29 17:35:11 +00:00
lukem 5c5a9a025f bsd.own.mk: deprecate NOCRYPTO
MKCRYPTO was removed by riastradh@ on 2017-05-22,
so the NOCRYPTO override is now unnecessary.
2023-05-28 10:49:00 +00:00
lukem 55152776e1 tools/compat: MAKEVERBOSE support in regen 2023-05-23 20:20:54 +00:00
lukem bfb7ad4003 man0: support objdirs, tools, parallel builds
man0 creates files, so write to the the OBJDIR instead of the
source directory.

Use TOOL_ appropriately.
Add MAKEVERBOSE support.

Add separate rules to generate:
- all.files: the list of all man files to process (based on mkman)
- manNpages.files: per-section files from all.files. (based on mkman)
- manNpages.ps: per-section .ps from manNpages.files, with
  per-file MAKEVERBOSE messages to stderr (as before, just prettier).
- manNpages.pdf: per-section .pdf from manNpages.ps.

Remove the now-obsolete mkman script.

Add TOOL_GROPS and _MKSHMSG_FORMAT to <bsd.own.mk>
2023-05-22 12:55:44 +00:00
christos 9acd1c4e9e switch everyone to OpenSSL-3.x 2023-05-15 16:12:39 +00:00
christos dbed30af1e move hppa and powerpc to OpenSSL-3.x 2023-05-14 22:44:53 +00:00
christos 4ebea0019d move arm to OpenSSL-3.x 2023-05-14 19:01:34 +00:00
christos 26931968e6 switch alpha to OpenSSL-3.x 2023-05-14 01:17:08 +00:00
christos 1246b2c5b1 switch i386 and m68k to OpenSSL-3.x 2023-05-13 15:44:59 +00:00
riastradh 57f1bae4e0 compat: Disable relro in 32-bit arm compat.
Not supported by binutils:

ld: warning: -z relro ignored

PR toolchain/57405
2023-05-13 10:56:54 +00:00
ryoon 87640e2fe9 Fix broken conditional 2023-05-12 11:49:47 +00:00
christos a64becd867 switch vax to OpenSSL-3.x 2023-05-12 11:27:48 +00:00
christos 147b6c818d switch sparc64/aarch64 to OpenSSL-3.x 2023-05-11 17:57:14 +00:00
skrll d39483a90d risc-v: use ${MACHINE}-${MACHINE_ARCH} for the default RELEASEMACHINEDIR
Hopefully, this fixes the release binaries being available on cdn/nyftp.
2023-05-11 08:49:41 +00:00
christos baef51cba2 switch amd64 to OpenSSL-3.0.8 2023-05-10 16:46:39 +00:00
skrll 64e2e8792e RISC-V: enabled GDB 2023-05-08 20:58:17 +00:00
skrll 75b842b847 RISC-V support that works on QEMU with a single hart.
Thanks for Simon Burge for plic(4).
2023-05-07 12:41:45 +00:00
martin bb0d78374f Switch mips64eb back to old binutils too, with new binutils it causes
random autobuild failures (same reason mips64el had been switched back
before)
2023-05-07 12:26:32 +00:00