__attribute__((__warn_unused_result__)) and the __builtin_expect()
use here is an attempt to silence the warning. This does not work
if the second argument of __builtin_expect() is not a constant,
but we are not linux, so instead of going through the
__builtin_constant_p() dance to correct this, just disable it for
non linux OS's.
- The Postfix Milter client logged a "milter miltername: malformed reply"
error when a Milter sent an SMTP response without enhanced status code
(i.e. "XXX Text" instead of "XXX X.X.X Text").
- The Postfix Milter client sent a random {client_connections} macro value
when the remote SMTP client was not subject to any smtpd_client_* limit.
As a workaround, it now sends a zero value instead.
Continual development has happened since the previous 0.9.9
snapshot of 20100603 and the full commit log is too long to
include here, but can be seen at
http://pcc.ludd.ltu.se/fisheye/changelog/~date=2011-09-01T06%3A00%3A00/pcc
Many bugs were reported and fixed, along with reworks of the compiler
internals in several areas, notable milestones were
* more builtins, libpcc is no longer required on NetBSD
* improved gcc compatibility (eg gnu-inline semantics)
* NetBSD/VAX kernel compiles and boots
* using cpp as backend for lint now fully working
* PIC support seems complete
* NetBSD/i386 kernel can be compiled and booted
* better float/double/complex support
* amd64 support on OSX
* reworked Makefiles
* pcc 1.0.0 was release on April 1 2011
* several xasm improvements
* FreeBSD/amd64 system can be compiled with very few changes
* DragonFly fixes from downstream
* rewritten #pragma support
* TLS support added
* many regression tests
* rewrite of internal attribute handling
-mfix-loongson2f-btb, to avoid a gas warning "macro expanded into
multiple instructions" (which cause GDIUM kernel build failure
as it's built with -Wa,-mfix-loongson2f-jump -Wa,--fatal-warnings).
This works around a bug in the branch prediction logic of the
CPU which can cause a hard hang. The existing fix-loongson2f-jump
works around the same bug, but by 'fixing' the jump target to be within the
same 256MB region as the kernel. This will (silently) cause a jump
to the wrong address if the jump is intentionally to some other
region (e.g. a call to pmon).
fix-loongson2f-btb instead works around the issue by adding an explicit flush
of the branch target buffer (via a write to a cop0 register) before every
jump register instruction.
This actually recovers something that was in the Makefile before but that
I removed during the update thinking they were not needed any more. (I had
assumed ssp was the default.)
Build problem reported by bch at methodlogic.net in current-users.
fire before a jump to a zero or "near" zero address. This can't be used
with MIPS1 kernels since MIPS1 doesn't have a trap instruction (it will
be silently ignored).
The new code has quite a bit of warnings to be fixed. I did not realize
until merge-resolving time that christos@ had fixed such warnings in our
copy of tmux 1.4 and assumed these warnings were new and thus could just
be disabled.
Therefore, I'm disabling some global warning checks as a temporary measure
to bring the tree back to a buildable state. I will take a look at these
warnings afterwards.
CHANGES FROM 1.4 TO 1.5, 09 July 2011
* Support xterm mouse modes 1002 and 1003.
* Change from a per-session stack of buffers to one global stack. This renders
copy-buffer useless and makes buffer-limit now a server option.
* Fix most-recently-used choice by avoiding reset the activity timer for
unattached sessions every second.
* Add a -P option to new-window and split-window to print the new window or
pane index in target form (useful to pass it into other commands).
* Handle a # at the end of a replacement string (such as status-left)
correctly.
* Support for UTF-8 mouse input (\033[1005h) which was added in xterm 262.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all
UTF-8 terminals. The option defaults to on if LANG etc are set in the same
manner as the utf8 option.
* Support for HP-UX.
* Accept colours of the hex form #ffffff and translate to the nearest from the
xterm(1) 256-colour set.
* Clear the non-blocking IO flag (O_NONBLOCK) on the stdio file descriptors
before closing them (fixes things like "tmux ls && cat").
* Use TMPDIR if set.
* Fix next and previous session functions to actually work.
* Support -x and -y for new-session to specify the initial size of the window
if created detached with -d.
* Make bind-key accept characters with the top-bit-set and print them as octal.
* Set $TMUX without the session when background jobs are run.
* Simplify the way jobs work and drop the persist type, so all jobs are
fire-and-forget.
* Accept tcgetattr/tcsetattr(3) failure, fixes problems with fatal() if the
terminal disappears while locked.
* Add a -P option to detach to HUP the client's parent process (usually causing
it to exit as well).
* Support passing through escape sequences to the underlying terminal by using
DCS with a "tmux;" prefix.
* Prevent tiled producing a corrupt layout when only one column is needed.
* Give each pane created in a tmux server a unique id (starting from 0), put it
in the TMUX_PANE environment variable and accept it as a target.
* Allow a start and end line to be specified for capture-pane which may be
negative to capture part of the history.
* Add -a and -s options to lsp to list all panes in the server or session
respectively. Likewise add -s to lsw.
* Change -t on display-message to be target-pane for the #[A-Z] replacements
and add -c as target-client.
* The attach-session command now prefers the most recently used unattached
session.
* Add -s option to detach-client to detach all clients attached to a session.
* Add -t to list-clients.
* Change window with mouse wheel over status line if mouse-select-window is on.
* When mode-mouse is on, automatically enter copy mode when the mouse is
dragged or the mouse wheel is used. Also exit copy mode when the mouse wheel
is scrolled off the bottom.
* Provide #h character pair for short hostname (no domain).
* Don't use strnvis(3) for the title as it breaks UTF-8.
* Use the tsl and fsl terminfo(5) capabilities to update terminal title and
automatically fill them in on terminals with the XT capability (which means
their title setting is xterm-compatible).
* Add a new option, mouse-resize-pane. When on, panes may be resized by
dragging their borders.
* Fix crash by resetting last pane on {break,swap}-pane across windows.
* Add three new copy-mode commands - select-line, copy-line, copy-end-of-line.
* Support setting the xterm clipboard when copying from copy mode using the
xterm escape sequence for the purpose (if xterm is configured to allow it).
* Support xterm(1) cursor colour change sequences through terminfo(5) Cc
(set) and Cr (reset) extensions.
* Support DECSCUSR sequence to set the cursor style with two new terminfo(5)
extensions, Cs and Csr.
* Make the command-prompt custom prompts recognize the status-left option
character pairs.
* Add a respawn-pane command.
* Add a couple of extra xterm-style keys that gnome terminal provides.
* Allow the initial context on prompts to be set with the new -I option to
command-prompt. Include the current window and session name in the prompt
when renaming and add a new key binding ($) for rename session.
* Option bell-on-alert added to trigger the terminal bell when there is an
alert.
* Change the list-keys format so that it shows the keys using actual tmux
commands which should be able to be directly copied into the config file.
* Show full targets for lsp/lsw -a.
* Make confirm-before prompt customizable with -p option like command-prompt
and add the character pairs #W and #P to the default kill-{pane,window}
prompts.
* Avoid sending data to suspended/locked clients.
* Small memory leaks in error paths plugged.
* Vi mode improvements.
- fix bad security practices: {msyslog,syslog,printf}(buffer) ->
{msyslog,syslog,printf}("%s", buffer)
- use an anonymous union to avoid type punning casts
- re-order expression to avoid integer overflow
we migrate to Kyua (atf v2), so it's better to use a generic name that does
not depend on the specific implementation. Also, this user has not gone
out yet into any stable release, so we can easily rename it.
Suggested by jruoho@.
- Performance: a high load of DSN success notification requests could
slow down the queue manager. Solution: make the trace client
asynchronous, just like the bounce and defer clients.
- The local(8) delivery agent ignored table lookup errors in
mailbox_command_maps, mailbox_transport_maps, fallback_transport_maps
and (while bouncing mail to alias) alias owner lookup.
- Workaround: dbl.spamhaus.org rejects lookups with "No IP queries" even
if the name has an alphanumerical prefix. We play safe, and skip both
RHSBL and RHSWL queries for names ending in a numerical suffix.
- The "sendmail -t" command reported "protocol error" instead of "file
too large", "no space left on device" etc.
- The Postfix Milter client reported a temporary error instead of
"file too large" in three cases.
install the headers or librarys into the system.
someone who really cares could make them shlibs again and have them
installed into eg, /usr/lib/gcc. not convinced it is worth it.
into HOST_CPPFLAGS, and remove the hacky list of files to build
with it. this matches what the real GCC build does, and fixes build
problems seen on OSX.
for exception handling rather than register_frame_info -- this is
what other OSes are doing, and what is supposedly more efficient.
committed generated files for i386 only
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
- don't use warnx() for things that set errno
- check result of setlogin()
- don't call setlogin() without calling setsid()
should fix kernel warnings like:
cron (pid NNNNN) changing logname from root to USER
cron (pid MMMMM) changing logname from USER to root
if a way to have "clean builds" not run "postinstall fix obsolete" in
the $DESTDIR so that these sorts of errors will appear as set list
errors instead of being skipped
- fix the list of headers to install for GCC 4.5, based upon the mknative
${G_EXTRA_HEADERS}. XXX move the location of G_EXTRA_HEADERS.
Upstream changelog:
--- 9.8.0-P4 released ---
3124. [bug] Use an rdataset attribute flag to indicate
negative-cache records rather than using rrtype 0;
this will prevent problems when that rrtype is
used in actual DNS packets. [RT #24777]
--- 9.8.0-P3 released (withdrawn) ---
3126. [security] Using DNAME record to generate replacements caused
RPZ to exit with a assertion failure. [RT #23766]
3125. [security] Using wildcard CNAME records as a replacement with
RPZ caused named to exit with a assertion failure.
[RT #24715]
3123. [security] Change #2912 exposed a latent flaw in
dns_rdataset_totext() that could cause named to
crash with an assertion failure. [RT #24777]
3115. [bug] Named could fail to return requested data when
following a CNAME that points into the same zone.
[RT #2445]
expand the list of platforms here significantly.
XXX: someone who knows FP well across our platforms should have a look
XXX: at this list and fix any errors / omissions i've made.