Antonio Huete Jimenez [Thu, 19 Feb 2015 15:55:09 +0000 (16:55 +0100)]
libhammer - Fix typos in man pages
Antonio Huete Jimenez [Thu, 19 Feb 2015 13:13:53 +0000 (14:13 +0100)]
libhammer - Add missing manual pages
- Adapt the info one for the recent changes.
- Remove old manpages via upgrade.
Antonio Huete Jimenez [Thu, 19 Feb 2015 13:14:29 +0000 (14:14 +0100)]
libhammer - Add an overlooked function that releases snaps
- Add a function to release resources allocated for libhammer_pfs_get_snapshots.
- Release snapshot resources when releasing the fsinfo struct.
Sascha Wildner [Thu, 19 Feb 2015 02:18:11 +0000 (03:18 +0100)]
kernel/wlan: Fix up the MAC address printing and add back __printflike()s.
In the recent wlan, iwn and ath upgrades, porting this properly was hacked
around by removing the __printflike()s because DragonFly has no support
for %D (neither in GCC nor in kprintf()). This is wrong because even
though it silences the warning, it will still not print MAC addresses
correctly. So bring all that back.
Also update the wlan's README.DRAGONFLY with some information about how
to port this properly.
Sascha Wildner [Thu, 19 Feb 2015 00:16:23 +0000 (01:16 +0100)]
kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.
The main reason is that our having to use the MB_WAIT and MB_DONTWAIT
flags was a recurring issue when porting drivers from FreeBSD because
it tended to get forgotten and the code would compile anyway with the
wrong constants. And since MB_WAIT and MB_DONTWAIT ended up as ocflags
for an objcache_get() or objcache_reclaimlist call (which use M_WAITOK
and M_NOWAIT), it was just one big converting back and forth with some
sanitization in between.
This commit allows M_* again for the mbuf functions and keeps the
sanitizing as it was before: when M_WAITOK is among the passed flags,
objcache functions will be called with M_WAITOK and when it is absent,
they will be called with M_NOWAIT. All other flags are scrubbed by the
MB_OCFLAG() macro which does the same as the former MBTOM().
Approved-by: dillon
Tomohiro Kusumi [Wed, 18 Feb 2015 17:50:33 +0000 (02:50 +0900)]
sbin/hammer: ignore negative length for history dump
- Use default value 32 when a negative value was given for
history dump.
Tomohiro Kusumi [Wed, 18 Feb 2015 17:07:03 +0000 (02:07 +0900)]
sbin/hammer: check strtol()/strtoll() results to avoid irrelevant history
queries
- Check errno for possible overflow/underflow by strtol()/strtoll() in
order to avoid ioctl with irrelevant offset/length.
- Examples
# hammer -vvv history@
11111111111111111111111111111111,111 ./out
Result too large: @
11111111111111111111111111111111
# hammer -vvv history@111,
11111111111111111111111111111111 ./out
Result too large: ,
11111111111111111111111111111111
# hammer -vvv history@-
11111111111111111111111111111111,111 ./out
Result too large: @-
11111111111111111111111111111111
# hammer -vvv history@111,-
11111111111111111111111111111111 ./out
Result too large: ,-
11111111111111111111111111111111
Tomohiro Kusumi [Wed, 18 Feb 2015 15:16:54 +0000 (00:16 +0900)]
sbin/hammer: trivial cleanup
- commit
00b46268 reverting
417cb1b1 brought back unnecessary blank line
at the end of the file that was once removed in
417cb1b1, so remove it
again.
Tomohiro Kusumi [Wed, 18 Feb 2015 15:11:15 +0000 (00:11 +0900)]
sbin/hammer: close file descriptor on history iteration
- Make hammer history command close(fd) each time it opens path@@0x`tid`
for hist.count times.
Tomohiro Kusumi [Wed, 18 Feb 2015 14:52:16 +0000 (23:52 +0900)]
sbin/hammer: trivial coding style fix
- Trivial coding style fix to a commit
24dd5805.
- Add parenthesis as hammer code mostly prefers "return(retval);"
to "return retval;".
Antonio Huete Jimenez [Tue, 10 Feb 2015 14:32:15 +0000 (15:32 +0100)]
libhammer - Preparation for snapshot handling & fixes
Trivial changes:
- Function renaming to actually match what they are
describing.
- Clearer variable naming.
Additions:
- Structures to hold snapshot data.
- Functions to retrieve snapshots from metadata for PFSes.
- A file for version compatibility functions.
- A function to return the canonical access path of a
PFS which is suitable for opening.
- Wrappers to operate per PFS snapshot list.
Changes & fixes:
- Use the new functions to gather all snaps of a PFS.
- Adapt hammer program for the changes.
- Check before free'ing in libhammer_free_fsinfo()
- Display the number of snapshots for unmounted PFSes.
Still missing:
- Manpages changes.
Sascha Wildner [Wed, 18 Feb 2015 14:46:58 +0000 (15:46 +0100)]
sys/kern: Adjust some function declaration vs. definition mismatches.
All these functions are declared static already, so no functional change.
Sascha Wildner [Wed, 18 Feb 2015 14:14:01 +0000 (15:14 +0100)]
vinum(8): Remove unused macro.
If it is ever needed, it can be done with offsetof().
Sascha Wildner [Wed, 18 Feb 2015 11:55:07 +0000 (12:55 +0100)]
natacontrol(8): Break line better and reduce parentheses.
Sascha Wildner [Wed, 18 Feb 2015 10:40:20 +0000 (11:40 +0100)]
Add cryptodev to our default configuration file.
While here, change wrong 'pseudo-device' to 'device'.
Sascha Wildner [Wed, 18 Feb 2015 10:29:13 +0000 (11:29 +0100)]
contrib/opie: Sync with FreeBSD, but not much to see here.
A couple of bugfixes:
* Fix the overflow check in challenge handling (off by 1).
* Store all hashes in little endian format before folding to 64 bits, per
RFC 2289. SHA1 code is big endian, so a bswap32() is needed.
* Create /etc/opiekeys with 0600, not 0644.
* Increase OPIE_HASHNAME_MAX for SHA1.
* Fix a buffer overflow in an unused file.
* Remove two unused (and empty) files.
The rest is just cosmetics.
Sepherosa Ziehau [Wed, 18 Feb 2015 02:47:35 +0000 (10:47 +0800)]
acpi/cstate: Fix comment
John Marino [Mon, 16 Feb 2015 19:08:17 +0000 (20:08 +0100)]
crunchide(1): fix offset for x86_64, restores WORLD_LDVER
The e_shoff offset for x86_64 is 40, not 44. FreeBSD figured this out
in January. The gold linker figured out there was a problem with the
crunch binaries when I tried WORLD_LDVER=ld.gold and it broke on initrd.
The ld.bfd linker didn't squawk. With the FreeBSD patch, buildworld
completes using the gold linker once again.
While here, tidy up a bit.
Sascha Wildner [Mon, 16 Feb 2015 19:12:56 +0000 (20:12 +0100)]
keyserv(8): Fix sizeof() of a pointer.
Commit
748a243b13dd295c04c9e06923a801157f6943e5 tried to fix this, but
did it wrongly, because xdrproc_t is a function pointer type and the
sizeof will still give 8.
The correct way is to use keybuf which is the type and has the correct
size (aka HEXKEYBYTES). It is done like this in key_set_1_svc_prog()
already.
Sascha Wildner [Mon, 16 Feb 2015 18:40:35 +0000 (19:40 +0100)]
keyserv(8): Raise WARNS to 2 and fix warnings.
Antonio Huete Jimenez [Mon, 16 Feb 2015 15:02:59 +0000 (16:02 +0100)]
Revert "hammer - Fix 'history' directive"
This reverts commit
417cb1b104fd140d4e31775d8873ad473216f7e4 which
broke the behaviour described in the manpage.
Spotted-by: tkusumi
John Marino [Mon, 16 Feb 2015 14:38:24 +0000 (15:38 +0100)]
unbreak world, take 2
The previous style works in the world makefiles but not here.
Try to fix the unbreak by checking if .MAKE.BUILT.BY is defined before
attempting to use it.
John Marino [Mon, 16 Feb 2015 14:32:03 +0000 (15:32 +0100)]
unbreak world
Upgrading from a world with the older bmake that didn't know
.MAKE.BUILT.BY results in a broken world, immediately. Change the check
from "&&" to two separate checks to avoid the malformed condition.
John Marino [Mon, 16 Feb 2015 13:18:38 +0000 (14:18 +0100)]
sys.mk: Add _GLIBCXX_USE_CXX11_ABI=0 definition in some cases
When the world is built by gcc47, and sys.mk isn't being used to build
the system, the CXXFLAGS will have -D_GLIBCXX_USE_CXX11_ABI=0 added to
it to force gcc50 to use the c++ ABI that gcc47 used when building the
system libraries.
If the world was built with gcc50, the system libraries were built
against the new c++ ABI so this flag would not be added in that case.
Due to new SYSBUILD definition in Makefile.inc1, this flag is never
added during the build of the world.
Sepherosa Ziehau [Mon, 16 Feb 2015 12:56:28 +0000 (20:56 +0800)]
memtemp/e5: Don't attach if CLTT is not set by BIOS in chn_temp_cfg
Tested-by: mneumann@
John Marino [Mon, 16 Feb 2015 10:57:04 +0000 (11:57 +0100)]
make(1): Create custom variable .MAKE.BUILT.BY
The value of .MAKE.BUILT.BY is normally either "gcc47" or "gcc50"
depending on which base compiler built the DragonFly world. It could
also be any valid CCVER for a dports compiler such as "clang35".
This capability is needed to handle the c++ ABI change that has been
introduced by gcc50. The problem hits when gcc50 is used to build when
the system libraries have been built by gcc47. The sys.mk file will
need .MAKE.BUILT.BY to adjust c++ flags appropriately.
Sepherosa Ziehau [Mon, 16 Feb 2015 07:13:22 +0000 (15:13 +0800)]
memtemp/e5: Setup hiwat and lowat before sensor task register.
Sepherosa Ziehau [Sat, 14 Feb 2015 14:47:02 +0000 (22:47 +0800)]
memtemp/e5: Send devctl notify, if DIMM is too hot, and set sensor status
- There is no need to save DIMM external id in dimm softc; use a stack
variable instead.
- White space cleanup.
Tomohiro Kusumi [Sun, 15 Feb 2015 11:44:39 +0000 (20:44 +0900)]
sys/vfs/hammer: minor zone cleanup
- hammer_generate_undo() takes either zone 1 or zone 2 address
(hammer generates undos for both volume metadata and buffers).
John Marino [Sun, 15 Feb 2015 10:48:54 +0000 (11:48 +0100)]
gcc50/libstdc++: Use generated symbol map instead
For both gcc47 and gcc50, we've been using pregenerate symbol map for
libstdc++ due to the apparently complexity of generating it. That's
already come back to bite on gcc50 as several symbols were modified and
added in the last couple of weeks. It was time to bite the bullet and
figure out how to generate the symbol map. It turns out that it really
wasn't that hard.
This *should* fix some dports errors (tbc).
Sascha Wildner [Sun, 15 Feb 2015 07:05:53 +0000 (08:05 +0100)]
Update the pciconf(8) database.
February 14, 2015 snapshot from http://pciids.sourceforge.net/
Tomohiro Kusumi [Sat, 14 Feb 2015 18:27:25 +0000 (03:27 +0900)]
sys/vfs/hammer2: fix typos
- Fix trivial typos in comments.
Tomohiro Kusumi [Tue, 3 Feb 2015 20:35:56 +0000 (05:35 +0900)]
sbin/hammer: cleanups
- Minor cleanups in addition to
24dd5805.
- hunk1 - no need to dereference indirect pointer **bufferp via direct
pointer *buffer in here anymore.
- hunk2 - all the rest of the code use **bufferp instead of **bufp.
- from Submit #2783
Tomohiro Kusumi [Tue, 3 Feb 2015 20:31:46 +0000 (05:31 +0900)]
sbin/hammer: add get_ondisk()
- Cleanup get_buffer_data() and get_node() using a new inline function
get_ondisk(). These two actually do the same thing except for the way
they release an existing buffer (--ref and eventually free it).
- from Submit #2783
Matthew Dillon [Sat, 14 Feb 2015 19:19:46 +0000 (11:19 -0800)]
systat - Improve pftop output
* Fix bugs where ICMP states were display bandwidth as '<huge>' .
* Fix bugs where the RB tree compare code would sometimes collapse
distinct states, creating confusion.
* Greatly improve readability by reformatting addresses and ports,
in particular truncating IPV6 addresses to fit better.
* Reduce jumping around of display elements as bandwidth values change.
Instead of sorting by the current bandwidth the display is sorted
by the 1/8 decay bandwidth.
François Tigeot [Sat, 14 Feb 2015 08:08:19 +0000 (09:08 +0100)]
drm: Add linux/ctype.h
François Tigeot [Sat, 14 Feb 2015 07:59:29 +0000 (08:59 +0100)]
drm: Add DMI_MATCH and DMI_EXACT_MATCH
Obtained-from: OpenBSD
François Tigeot [Sat, 14 Feb 2015 07:52:48 +0000 (08:52 +0100)]
drm: Update linux/kernel.h
* Add clamp_t and DIV_ROUND_UP_ULL(), both obtained from NetBSD
* Add WARN_ON_SMP()
* Add max3()
François Tigeot [Sat, 14 Feb 2015 07:41:44 +0000 (08:41 +0100)]
drm: Add get_seconds()
François Tigeot [Sat, 14 Feb 2015 07:33:25 +0000 (08:33 +0100)]
drm: Add linux/string.h
Obtained-from: FreeBSD's OFED subsystem
François Tigeot [Sat, 14 Feb 2015 07:25:40 +0000 (08:25 +0100)]
drm: Add linux/printk.h
François Tigeot [Sat, 14 Feb 2015 07:24:52 +0000 (08:24 +0100)]
drm: Add linux/spinlock.h
John Marino [Fri, 13 Feb 2015 22:09:44 +0000 (23:09 +0100)]
gcc50: use DF stddef.h by adding max_align_t
C11 and C++11 need the max_align_t type definition. In order to get it,
the gcc version was installed at /usr/libdata/gcc50/stddef.h. We'd
rather the base gcc use only system-provided headers, so the max_align_t
structure has been added to /usr/include/stddef.h
patch-from: swildner
François Tigeot [Fri, 13 Feb 2015 21:47:16 +0000 (22:47 +0100)]
drm: Update linux/workqueue.h
Obtained-from: FreeBSD's OFED subsystem
François Tigeot [Fri, 13 Feb 2015 21:40:59 +0000 (22:40 +0100)]
drm: Update various Linux headers
Joris Giovannangeli [Fri, 13 Feb 2015 19:37:33 +0000 (20:37 +0100)]
chflagsat: fix typo in prototype
Joris Giovannangeli [Fri, 13 Feb 2015 19:27:28 +0000 (20:27 +0100)]
add chflagsat system call
Michael Neumann [Fri, 13 Feb 2015 16:05:52 +0000 (17:05 +0100)]
nrelease - Revive the gui build
Pkgsrc is long gone. Update Makefile to use dports.
Michael Neumann [Fri, 13 Feb 2015 15:14:31 +0000 (16:14 +0100)]
Add option to override dports git host
By specifying GITHOST_DPORTS you can override the default git host for
fetching the dports.git repository:
cd /usr && make dports-create GITHOST_DPORTS=localhost
Michael Neumann [Fri, 13 Feb 2015 11:28:16 +0000 (12:28 +0100)]
ecc/memtemp/e5: Correct E5 v3 DID <-> SLOT
Revert the change in cb830af (revert PCI slot numbers) and instead
modify the PCI device ids. Channel 0/1 was swapped with channel 2/3.
John Marino [Fri, 13 Feb 2015 08:34:24 +0000 (09:34 +0100)]
gcc50: Switch to SVN over weekly snapshots for latest
A dports bulk run revealed at least 3 major issues, all of which have
already been fixed upstream. Two were found in 8 February snapshot, but
the third still hasn't been release. Since the snapshots are just
the packaged Subversion repo without the .svn directory, I'm switching
over to SVN directly until the prerelease.
With here, disable extra diagnostic checks which slow the compiler down
considerably.
John Marino [Fri, 13 Feb 2015 10:07:46 +0000 (11:07 +0100)]
Merge branch 'vendor/GCC50'
John Marino [Fri, 13 Feb 2015 08:18:26 +0000 (09:18 +0100)]
Update gcc-50 to SVN version 220677
Last Changed Date: 2015-02-13 08:56:14 +0100 (Fri, 13 Feb 2015)
Sepherosa Ziehau [Fri, 13 Feb 2015 09:16:47 +0000 (17:16 +0800)]
ecc/e5: Reorganize bootverbose prints a little bit
Sepherosa Ziehau [Fri, 13 Feb 2015 09:12:55 +0000 (17:12 +0800)]
ecc/memtemp: Add support for Intel E5 v3
Sepherosa Ziehau [Thu, 12 Feb 2015 13:25:08 +0000 (21:25 +0800)]
memtemp: Add support for Intel Core Haswell and E3 v3 cpus
Tested-by: dillon@ (no sensors available though)
François Tigeot [Thu, 12 Feb 2015 20:45:04 +0000 (21:45 +0100)]
installer: Don't create a separate /usr pfs
* /usr as a separate filesystem from / doesn't really make sense
anymore in this day and age. Both / and /usr binaries are dynamically
linked and belong to the same DragonFly base system.
* What's more, it's dangerous. With a separate /usr filesystem, the
rescue static binaries in /usr/share/initrd can't be accessed without
/usr mounted and in some situations /usr can't be mounted anymore with
the regular mount* binaries...
John Marino [Thu, 12 Feb 2015 17:50:18 +0000 (18:50 +0100)]
gcc50: Look for ld-elf.so.2 on the root slice always
A couple of us could not could not even get the shell after rebuilding
world with the new compiler. The problem was that several programs such
as sh, cd, mount*, etc need to run before /usr is mounted when /usr is on
a different slice (those programs are dynamically linked these days) I
didn't consider this when I decided to leave the interpreter at the default
value which is "/usr/libexec/ld-elf.so.2". That file is now symlink to
/libexec/ld-elf.so.2. sh, cd, etc, could not access the dynamic linker
because the mount command failed due to also needing the dynamic linker.
Let's rectify that bad decision now before any other systems get badly
messed up.
Tomohiro Kusumi [Thu, 12 Feb 2015 12:04:19 +0000 (21:04 +0900)]
test commit
Sascha Wildner [Thu, 12 Feb 2015 10:52:50 +0000 (11:52 +0100)]
make upgrade: Expand the list a bit for gcc44 removal.
Sepherosa Ziehau [Wed, 11 Feb 2015 09:06:17 +0000 (17:06 +0800)]
ecc/e3: Split it into two drivers, coremctl(4) and ecc(4)
coremctl(4), which maps the MCHBAR, is now the parent of ecc(4) for
Intel E3 cpus. This paves way to add Intel Core/E3 support to
memtemp(4).
Tested-by: dillon@ on i3/Haswell and E3/v3
Sepherosa Ziehau [Thu, 12 Feb 2015 08:48:33 +0000 (16:48 +0800)]
emx: Allow 2 TX rings for i217 and i218
Tested-by: dillon@ on i217
John Marino [Thu, 12 Feb 2015 08:12:44 +0000 (09:12 +0100)]
gcc50/stddef.h: Remove __FreeBSD only conditions
In a very special case of DragonFly masquerading as FreeBSD within dports,
using the stock stddef.h that comes with gcc always results in failure.
The masquerading is done by passing __FreeBSD definition through cflags,
and this causes the compiler to attempt to include headers that do not
exist on DragonFly. The gcc compilers in dports already have this fix.
This commit simply removes all clauses that pertain to FreeBSD and not
DragonFly.
John Marino [Wed, 11 Feb 2015 20:11:37 +0000 (21:11 +0100)]
Removal of unused gcc 4.4 sources and makefiles
It's been confirmed that a gcc50-built world and kernel boots and
functions as expected. With that good news, it is safe to remove
the gcc 4.4 sources and makefiles. It wasn't building and this will
make the cloning of a shallow repo faster.
John Marino [Wed, 11 Feb 2015 19:40:37 +0000 (20:40 +0100)]
gcc50/csu: Skip depends step to avoid possible race
I've witnessed buildworld break once on muscles at gcc50/csu, on the
depends step. I can reproduce the error manually by doing:
> cd gnu/lib/gcc50/csu
> wmake clean cleandepend
> wmake depend
It fails to locate insn-constants.h which should be avaiable due to
and include flag. The depends is just checking if all the headers are
in place. Skipping the depends step may prevent this breakage. I have
successfully built world with this patch so it doesn't do harm.
John Marino [Wed, 11 Feb 2015 17:56:45 +0000 (18:56 +0100)]
gcc50: Build with no-avx like gcc47
This check will also match newer gcc compilers from dports.
Requested-by: zrj (irc)
John Marino [Wed, 11 Feb 2015 13:25:43 +0000 (14:25 +0100)]
UPDATING: Initial entry discussing gcc 4.4 & 5.0
This entry may need updating before release, particularly if the release
version of GCC 5.0 is brought in and especially if gcc 5.0 becomes
designated as the primary compiler.
John Marino [Wed, 11 Feb 2015 13:07:55 +0000 (14:07 +0100)]
Bump __DragonFly_version to mark introduction of gcc50
Michael Neumann [Wed, 11 Feb 2015 11:04:36 +0000 (12:04 +0100)]
ecc/memtemp/e5 - Correct E5 v3 PCI slot numbers
The PCI slot numbers for E5 v3 IMC as introduced with commit
0c543cdd were
wrong, at least according to the hardware I am testing with (E5 1620).
After this commit and this patch from sephe [1] I can get ecc(4) and
memtemp(4) working on the E5 1600 v3 series:
ecc0: <Intel E5 v3 ECC node0 channel0> [tentative] at device 21.2 on pci255
ecc0: DDR4 ecc0: native DDR
ecc0: DIMM0 8GB, 1x4, density 4GB
ecc0: DIMM0 rank0, corrected error threshold 32767
ecc0: <Intel E5 v3 ECC node0 channel0> [attached!] at device 21.2 on pci255
memtemp0: <Intel E5 v3 memory thermal sensor node0 channel0> [tentative]
at device 21.0 on pci255
memtemp0: <Intel E5 v3 memory thermal sensor node0 channel0> [attached!]
at device 21.0 on pci255
[1]: http://leaf.dragonflybsd.org/~sephe/e5_v3_memtemp_ecc.diff
Sascha Wildner [Wed, 11 Feb 2015 09:50:05 +0000 (10:50 +0100)]
rwhod(8): Fix the warning and raise WARNS back up to 6.
'next' is only initialized and referenced (in separate if()'s) when
'quiet_mode' is not set. Unfortunately gcc does not realize this and
warns about 'next' being maybe uninitialized.
Fix this by initializing 'next', with no functional change.
Sascha Wildner [Wed, 11 Feb 2015 09:59:28 +0000 (10:59 +0100)]
pppd(8): Include libpcap's config.h for HAVE_* in pcap-int.h.
Sascha Wildner [Wed, 11 Feb 2015 09:57:36 +0000 (10:57 +0100)]
pflogd(8): Fix the warning and raise WARNS back up to 5.
The issue here is that pcap-int.h (from libpcap) is included without
also including libpcap's config.h. This results in HAVE_STRLCPY not
being set which makes visible the strlcpy() compatibility macro in
pcap-int.h where gcc ultimately warns.
Fix by including libpcap's config.h so the pcap-int.h header knows
that we have strlcpy().
While here, fix a wrong comparison of if_exists()'s result with -1
as if_exists() only returns 0 or 1 (as correctly pointed out by grim7
in the IRC channel).
Sepherosa Ziehau [Wed, 11 Feb 2015 08:53:40 +0000 (16:53 +0800)]
ix: Fix and simplify link state bit testing logic
Noticed-by: joris@
John Marino [Wed, 11 Feb 2015 08:03:31 +0000 (09:03 +0100)]
games: Fix real bugs on three games (found by gcc 5.0)
I had NO_GAMES set so I missed these bugs yesterday. Adventure, Fortune,
and Mille all had bugs in them (the latter had two).
Now gcc-5.0 can build the entire world and kernel.
I still need to verify that a gcc-5.0 built world and kernel is bootable
and works though.
Sepherosa Ziehau [Sun, 8 Feb 2015 13:49:48 +0000 (21:49 +0800)]
ecc/memtemp/e5: Prepare for E5 v3 support
John Marino [Wed, 11 Feb 2015 01:59:18 +0000 (02:59 +0100)]
kern ath drivers: Fix loops bounds (real bug x2) + source
The ar9300 source had a couple of logic ambiguities causing
[-Werror=logical-not-parenthesis] warnings. The other two used the
wrong variable for the upper bounds of the loop. I assume it was
correct once but the code changed, and the author neglected to use the
next edges max value.
John Marino [Wed, 11 Feb 2015 01:57:59 +0000 (02:57 +0100)]
kern: Fix [-Werror=aggressive-loop-optimizations]
These were basic upper bound checking errors on loops
John Marino [Wed, 11 Feb 2015 01:51:05 +0000 (02:51 +0100)]
kernel: Fix -Wmaybe-unitialized
Likely there was never a bug here, so explicitly initializing won't
make a difference other than make gcc 5.0 happy.
John Marino [Wed, 11 Feb 2015 01:48:43 +0000 (02:48 +0100)]
kern: Fix [-Werror=logical-not-parenthesis]
Since the whole point of this error is that logic order can be
ambiguous, I'm not 100% sure confident in these fixes, but they are
required to get the kernel to build with gcc 5.0.
John Marino [Tue, 10 Feb 2015 22:42:37 +0000 (23:42 +0100)]
gcc50: local mod to support kernel printf formats
The diff from gcc47 patched without issues (only line offsets).
John Marino [Tue, 10 Feb 2015 23:28:25 +0000 (00:28 +0100)]
kern: Make sure gcc47 - gcc50 don't check for set-not-used
John Marino [Tue, 10 Feb 2015 23:04:33 +0000 (00:04 +0100)]
kern: Address set-but-unused warnings (mostly)
On of these is an [-Werror=logical-not-parenthesis] error.
This is as far as I can get without implementing %r format again.
John Marino [Tue, 10 Feb 2015 22:26:16 +0000 (23:26 +0100)]
rwhod(8): Lower WARNS to 2 (masks -Wmaybe-uninitialized)
John Marino [Tue, 10 Feb 2015 22:17:53 +0000 (23:17 +0100)]
pflogd(8): lower WARNS and fix logic errors
The contrib files trigger a new -Wunused-value warning, so lower WARNS
to 3 to suppress that. Also, a [logical-not-parenthesis] error was
triggering [-Werror=bool-compare]. Fixing it fixed the compare too.
John Marino [Tue, 10 Feb 2015 22:16:21 +0000 (23:16 +0100)]
bsd.sys.mk: Teach it about -Wunused-value (new with gcc4.9)
John Marino [Tue, 10 Feb 2015 22:01:25 +0000 (23:01 +0100)]
keyserv(8): Fix size argument on debugging output
This was another size of pointer problem.
John Marino [Tue, 10 Feb 2015 21:49:25 +0000 (22:49 +0100)]
truss(1): remove inline directive to fix [-Werror=inline]
GCC 5.0 thinks inlining the usage function will fail and only cause the
program to get bigger. Minor, but I'll following GCC's advice.
John Marino [Tue, 10 Feb 2015 21:38:44 +0000 (22:38 +0100)]
opiekey (contrib): Fix serious (?) [-Wsizeof-pointer-memaccess]
On a password verification function of opiekey, the amount of bytes
allocated to a secret was 4 bytes of i386 and 8 bytes of x86-64. Memset
was using the size of the pointer to allocate memory.
Change 3 instances of this to size OPIE_SECRET_MAX + 1 to fix it.
FYI this vendor branch is like 16 years old...
John Marino [Tue, 10 Feb 2015 21:18:18 +0000 (22:18 +0100)]
sysctl(8): fix [-Werror=logical-not-parentheses] error
John Marino [Tue, 10 Feb 2015 21:15:00 +0000 (22:15 +0100)]
rtsol(8): Fix loop bug (aggressive-loop-optimizations)
The index was being checked for validity after the array was accessed,
putting the check first makes gcc 5.0 happy.
John Marino [Tue, 10 Feb 2015 20:57:32 +0000 (21:57 +0100)]
newfs_hammer(8): fix [-Wsizeof-pointer-memaccess]
The device type comparison only worked by accident on x86-64 and not
reliability on i386 because the sizeof function returned the size of
the address rather than the size of the vol->type string. Fix by
specifying the size of "DEVICE" to strncmp instead.
John Marino [Tue, 10 Feb 2015 20:55:23 +0000 (21:55 +0100)]
natacontrol(8): Fix [-Werror=logical-not-parentheses] error
John Marino [Tue, 10 Feb 2015 20:18:09 +0000 (21:18 +0100)]
devd(8): Lower WARNS from 5 to 2 (has unused local typedefs)
GCC 5.0 has detected local unused typedefs, so lower the warnings so
that compiler can build it.
John Marino [Tue, 10 Feb 2015 20:22:58 +0000 (21:22 +0100)]
bsd.sys.mk: support -Wunused-local-typedef
Add support to bsd.sys.mk for a new warning, unused-local-typedef. This
warning showed up in gcc 4.8 and is included in -Wall. Hopefully I did
this correctly, but if not, swildner will soon correct it. :)
John Marino [Tue, 10 Feb 2015 19:28:22 +0000 (20:28 +0100)]
Fix static archive libstdc++.a for gcc 5.0
The libstdc++ libaries for gcc 5.0 are built differently than they have
been in the past, and closely mirror what the vendor build system does.
Three "convenience" librarys are built first: c++98, c++11, and supc++.
Both static and PIC versions are built. The final library combines the
three components along with about 10 unique objects.
It worked fine for the shared version (libstd.so.9) but the static
version was unreadable. I fixed it by creating a dedicated "ar" script
to dictate what gets assembled in the new static archive. It would
have been a sweet solution has "ar" not had an incredible limitation:
The script can not have consecutive "+" characters on any line. To
work around this, I had to:
1) rename the 3 component libraries (all had ++ in the name)
2) rename the output library (libstdc++.a => libstdcxx.a)
3) copy all the cc files with "++" in their names to a new filename.
This affected about 3-4 files.
4) move the output library back to the proper name of libstdc++.a
What a pain those hacks were, but it works and gcc-5.0 can now build
itself. It still can't complete world due to Werror trigging on new
warnings, but it's a good fix.
John Marino [Tue, 10 Feb 2015 19:24:32 +0000 (20:24 +0100)]
bsd.lib.mk: Allow for possibility to override static lib target
The upcoming fix for gcc 5.0 libstdc++.a requires a dedicated static
library target. Up until now this hasn't been possible without bmake
screaming about duplicate targets (although it does work). Add a simple
"if not target defined" check to bsd.lib.mk to avoid these warnings.
John Marino [Tue, 10 Feb 2015 19:22:31 +0000 (20:22 +0100)]
Add two more files to contrib/gcc-5.0/README.DELETED
These were removed from the vendor branch to avoid the makefiles
accidentally picking up the generic version instead of the dfly version.
They were libstdc++ source files.
John Marino [Tue, 10 Feb 2015 19:21:01 +0000 (20:21 +0100)]
Merge branch 'vendor/GCC50'
John Marino [Tue, 10 Feb 2015 19:16:45 +0000 (20:16 +0100)]
Remove two generic configure files for libstdc++
They are superceded by DragonFly-specific files
Imre Vadasz [Tue, 10 Feb 2015 15:42:41 +0000 (16:42 +0100)]