OpenBSD src changes summary for 2017-06-04
==========================================

games/fortune                           gnu/usr.bin/binutils-2.17
gnu/usr.bin/perl                        libexec/ld.so
share/man                               share/mk
sys/arch/amd64/conf                     sys/arch/amd64/include
sys/arch/arm64/arm64                    sys/arch/arm64/conf
sys/arch/i386/conf                      sys/arch/i386/i386
sys/arch/luna88k/dev                    sys/conf
sys/dev/isa                             sys/dev/pci
sys/dev/pv                              sys/net80211
usr.bin/mandoc                          usr.bin/tmux
usr.sbin/installboot                    

== games ============================================================= 01/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/games

fortune

  ~ fortune/fortune.c                     ~ strfile/strfile.c

  > Use proper bool types in fortune(6).
  > OK tb@, phessler@ (previous version) (fcambus@)

== gnu =============================================================== 02/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu

usr.bin/binutils-2.17

  ~ gas/config/tc-i386.c                  

  > Replace ((2 << 31) - 1) with 0xffffffff, which is equivalent but doesn't
  > cause a shift overflow on a 32-bit arch (i386).  ok kettenis@ (naddy@)

usr.bin/perl

  ~ cpan/File-Path/lib/File/Path.pm       ~ cpan/File-Path/t/FilePathTest.pm
  ~ cpan/File-Path/t/Path.t               ~ cpan/File-Path/t/Path_root.t
  ~ cpan/File-Path/t/Path_win32.t         

  > Update to perl File::Path 2.13 for security fixes
  > Reccomended by upstream - jkeenan AT pobox.com
  > OK sthen@ (afresh1@)

  ~ cpan/File-Path/lib/File/Path.pm       

  TAGGED OPENBSD_6_0
  > Use fchmod to avoid a race condition in File::Path
  > See errata 026_perl
  > Commit it deraadt@ (afresh1@)

  ~ cpan/File-Path/lib/File/Path.pm       

  TAGGED OPENBSD_6_1
  > Use fchmod to avoid a race condition in File::Path
  > See errata 010_perl
  > Commit it deraadt@ (afresh1@)

== libexec =========================================================== 03/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec

ld.so

  ~ i386/rtld_machine.c                   

  > For the memory operand, clang passes in an address relative to the
  > stack pointer.  We cannot use this twice while pushing values on
  > the stack.  Instead load the operand address into a register and
  > use this as base address.  Use %edx since it is already marked as
  > clobbered.  Also fixes a syntax problem for clang.
  > ok mlarkin@ (naddy@)

  ~ aarch64/ldasm.S                       

  > Remove the sigprocmask stub that has long been made unused since
  > the use of kbind.  The code was #if 0'd anyway.
  > Reminded by miod@ (patrick@)

== share ============================================================= 04/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share

man

  ~ man7/roff.7                           

  > Pure preprocessor implementation of the roff(7) .ec and .eo requests
  > (escape character control), touching nothing after the preprocessing
  > stage and keeping even the state variable local to the preprocessor.
  > Since the escape character is also used for line continuation, this
  > requires pulling the implementation of line continuation from the
  > input reader to the preprocessor, which also considerably shortens
  > the code required for that.
  > When the escape character is changed, simply let the preprocessor
  > replace bare by escaped backslashes and instances of the non-standard
  > escape character with bare backslashes - that's all we need.
  > Oh, and if anybody dares to use these requests in OpenBSD manuals,
  > sending a medium-sized pack of axe-murderes after them might be a
  > worthwhile part of the punishment, but probably insuffient on its own.
  > (schwarze@)

  ~ man7/roff.7                           

  > Implement the roff(7) .mc (right margin character) request.
  > The Tcl/Tk manual pages use this extensively.
  > Delete the TERM_MAXMARGIN hack, it breaks .mc inside .nf;
  > instead, implement a proper TERMP_BRNEVER flag. (schwarze@)

mk

  ~ bsd.dep.mk                            

  > pass better arguments to mkdep.
  > - some std= parameters are actually critical, -std=c++11 makes a huge
  > difference for clang.
  > - explicitly ask mkdep to run the C++ compiler for C++ code, as again,
  > some compilers will see the difference.
  > (this should allow us to repair make depend under src/gnu/usr.bin/clang)
  > okay kettenis@ (espie@)

== sys =============================================================== 05/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys

arch/amd64/conf

  ~ Makefile.amd64                        

  > Create gap.* with umask 007 instead of 077 to make kernel builds after
  > make release work without prior cleanup.
  > discussed with deraadt (tb@)

arch/amd64/include

  ~ bus.h                                 

  > Re-arrange struct bus_dmamap members
  > This reduces holes/padding and makes the struct smaller by 8 bytes.
  > ok kettenis@ (sf@)

arch/arm64/arm64

  ~ autoconf.c                            ~ locore.S
  + locore0.S                             

  > Split early startup code out of locore.S into locore0.S.  Adjust link
  > run so that this locore0.o is always at the start of the executable.
  > But randomize the link order of all other .o files in the kernel, so
  > that their exec/rodata/data/bss segments land all over the place.
  > Late during kernel boot, unmap the early startup code.
  > As a result, the internal layout of every newly build bsd kernel is
  > different from past kernels.  Internal relative offsets are not known
  > to an outside attacker.  The only known offsets are in the startup code,
  > which has been unmapped.
  > Ramdisk kernels cannot be compiled like this, because they are gzip'd.
  > When the internal pointer references change, the compression dictionary
  > bloats and results in poorer compression.
  > With guidance and ok deraadt@ (patrick@)

  ~ locore.S                              

  > Remove comment that no longer is true.  esym is not written by our
  > bootloader anymore, so it doesn't matter where it is stored.  While
  > there do some whitespace cleanup. (patrick@)

arch/arm64/conf

  ~ Makefile.arm64                        ~ files.arm64

  > Split early startup code out of locore.S into locore0.S.  Adjust link
  > run so that this locore0.o is always at the start of the executable.
  > But randomize the link order of all other .o files in the kernel, so
  > that their exec/rodata/data/bss segments land all over the place.
  > Late during kernel boot, unmap the early startup code.
  > As a result, the internal layout of every newly build bsd kernel is
  > different from past kernels.  Internal relative offsets are not known
  > to an outside attacker.  The only known offsets are in the startup code,
  > which has been unmapped.
  > Ramdisk kernels cannot be compiled like this, because they are gzip'd.
  > When the internal pointer references change, the compression dictionary
  > bloats and results in poorer compression.
  > With guidance and ok deraadt@ (patrick@)

  ~ Makefile.arm64                        

  > Create gap.* with umask 007 instead of 077 to make kernel builds after
  > make release work without prior cleanup.
  > discussed with deraadt (tb@)

arch/i386/conf

  ~ Makefile.i386                         

  > Create gap.* with umask 007 instead of 077 to make kernel builds after
  > make release work without prior cleanup.
  > discussed with deraadt (tb@)

arch/i386/i386

  ~ acpi_wakecode.S                       ~ mptramp.s

  > Catch up with changes made on amd64 (kettenis@):
  > Generating mixed 16-bit/32-bit/64-bit code with clang's integrated
  > assembler is a bit tricky.  It supports the .code16, .code32 and
  > .code64 directives.  But it doesn't know about the data16/data32 and
  > addr16/addr32 instruction prefixes.  Instead it tries to determine
  > those from the instruction opcode.  It mostly succeeds, but there are
  > a couple of corner cases where clang will generate the "addr32" form
  > where gas generates the "addr16" form in .code16 segments.  That
  > should be no problem (and just waste a couple of bytes), but it makes
  > comparing the generated code a bit difficult.
  > Allow the trampoline code to be compiled with both.  For clang #define
  > away the addr32 prefix and avoid using the data32 prefix by using a
  > mnemonic that explicitly encodes the size of the operand.  Add a few
  > addr32 prefixes in .code16 blocks to reduce the differences between
  > code generated by clang and gas.
  > ok deraadt@ (naddy@)

arch/luna88k/dev

  ~ lunaws.c                              ~ sio.c
  ~ siotty.c                              ~ siovar.h

  > Sync with current NetBSD/luna68k code. (aoyama@)

conf

  ~ makegap.sh                            

  > Don't need to provide a padbyte value for .bss, it will always be 0
  > pointed out by kettenis (deraadt@)

dev/isa

  ~ if_eg.c                               

  > Remove unused function, as pointed out by clang.  ok deraadt@ kettenis@
  > (naddy@)

  ~ if_ex.c                               

  > fix a bungled logical/bitwise expression pointed out by clang; ok deraadt@
  > (naddy@)

dev/pci

  ~ if_sk.c                               

  > use htolem32 and lemtoh32 instead of htole32 and letoh32.
  > saves about half a k on sparc64. (dlg@)

  ~ drm/ttm/ttm_bo.c                      ~ drm/ttm/ttm_bo_api.h
  ~ drm/ttm/ttm_bo_driver.h               ~ drm/ttm/ttm_bo_manager.c
  ~ drm/ttm/ttm_bo_util.c                 ~ drm/ttm/ttm_bo_vm.c

  > Switch the TTM code over to the generic DRM VMA manager.
  > ok jsg@ (kettenis@)

  ~ drm/radeon/radeon_object.h            

  > Switch the radeondrm(4) driver over to TTM using the new DRM VMA manager.
  > ok jsg@ (kettenis@)

dev/pv

  ~ vmt.c                                 

  > update link to Ken Kato's vmware backdoor protocol documentation
  > from Seth Jackson (jmatthew@)

net80211

  ~ ieee80211_input.c                     ~ ieee80211_node.c

  > Add sizes for free for the RSN IEs. Rewrite ieee80211_save_ie() slightly
  > to make it more readable.
  > help, many explanations and ok stsp (tb@)

== usr.bin =========================================================== 06/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin

mandoc

  ~ read.c                                ~ roff.c

  > Pure preprocessor implementation of the roff(7) .ec and .eo requests
  > (escape character control), touching nothing after the preprocessing
  > stage and keeping even the state variable local to the preprocessor.
  > Since the escape character is also used for line continuation, this
  > requires pulling the implementation of line continuation from the
  > input reader to the preprocessor, which also considerably shortens
  > the code required for that.
  > When the escape character is changed, simply let the preprocessor
  > replace bare by escaped backslashes and instances of the non-standard
  > escape character with bare backslashes - that's all we need.
  > Oh, and if anybody dares to use these requests in OpenBSD manuals,
  > sending a medium-sized pack of axe-murderes after them might be a
  > worthwhile part of the punishment, but probably insuffient on its own.
  > (schwarze@)

  ~ man_term.c                            ~ mdoc_term.c
  ~ term.c                                ~ term.h

  > Make term_flushln() simpler and more robust:
  > Eliminate the "overstep" state variable.
  > The information is already contained in "viscol".
  > Minus 60 lines of code, no functional change intended. (schwarze@)

  ~ man_term.c                            ~ mdoc_man.c
  ~ mdoc_term.c                           ~ roff.c
  ~ roff.h                                ~ roff_html.c
  ~ roff_term.c                           ~ roff_validate.c
  ~ tbl_term.c                            ~ term.c
  ~ term.h                                

  > Implement the roff(7) .mc (right margin character) request.
  > The Tcl/Tk manual pages use this extensively.
  > Delete the TERM_MAXMARGIN hack, it breaks .mc inside .nf;
  > instead, implement a proper TERMP_BRNEVER flag. (schwarze@)

tmux

  ~ screen-write.c                        ~ tmux.1
  ~ tty.c                                 

  > Typo/style; plus man page escaping from jmc. (nicm@)

  ~ log.c                                 ~ proc.c
  ~ server.c                              ~ signal.c
  ~ tmux.1                                ~ tmux.h

  > Support SIGUSR2 to stop and start logging for an existing server. Also
  > we currently only have two log levels so just use -v and -vv rather than
  > -v and -vvvv, and clarify the man page entry for -v. (nicm@)

  ~ input.c                               ~ screen.c
  ~ tmux.h                                ~ utf8.c
  ~ window.c                              

  > Be more strict about escape sequences that rename windows or set titles:
  > ignore any that not valid UTF-8 outright, and for good measure pass the
  > result through our UTF-8-aware vis(3). (nicm@)

  ~ utf8.c                                

  > Remove unused variable. (nicm@)

  ~ input.c                               

  > Add a timeout to prevent the sequences which wait for a specific
  > terminator (OSC, APC and DCS) waiting forever, which helps to avoid
  > garbage (cat /dev/random) locking up panes completely. This (and the
  > last commit) prompted by a discussion with theo. (nicm@)

  ~ mode-tree.c                           

  > Do not leak command, from David CARLIER. (nicm@)

== usr.sbin ========================================================== 07/07 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin

installboot

  ~ i386_installboot.c                    

  > Malloc the superblock buffer to make sure that it is properly aligned.
  > On i386, clang puts the char array at an odd address in .bss.
  > ok deraadt@ (naddy@)

===============================================================================
_______________________________________________
odc mailing list
[email protected]
http://www.squish.net/mailman/listinfo/odc

Reply via email to