Planet GNU

Aggregation of development blogs from the GNU Project

August 27, 2015

FSF Blogs

Friday Free Software Directory IRC meetup: August 28

Join the FSF and friends Friday, August 28, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

August 27, 2015 03:50 PM

August 26, 2015

FSF Events

Richard Stallman - "Copyright vs. Community" (Gent, Belgium)

Copyright developed in the age of the printing press, and was designed to fit with the system of centralized copying imposed by the printing press. But the copyright system does not fit well with computer networks, and only draconian punishments can enforce it.
The global corporations that profit from copyright are lobbying for draconian punishments, and to increase their copyright powers, while suppressing public access to technology. But if we seriously hope to serve the only legitimate purpose of copyright--to promote progress, for the benefit of the public--then we must make changes in the other direction.

This speech by Richard Stallman will be nontechnical, admission is gratis, and the public is encouraged to attend.

Speech start time and exact location to be determined.

Please fill out our contact form, so that we can contact you about future events in and around Gent.

August 26, 2015 09:20 PM

health @ Savannah

Join us at IWEEE 2015 : Social Medicine

Dear GNU Health and Free Software community:

In a month from now, GNU Solidario will celebrate it's 8th
International Workshop on eHealth in Emerging Economies - IWEEE 2015 : Social Medicine - (http://www.iweee.org)

During these years, IWEEE has become the point of reference for
Free/Libre software in the health care arena, as well as for social activists.

The event is divided in two days :

  • Day 1 : Technical talks and workshops. Some topics to be addressed are GNU Health 3.0, Tryton, Free Hardware in Medicine, HL7 FHIR, security and localization. We will also do installation workshops, so bring your Free/Libre OS laptop !
  • Day 2 : Social talks . This year we are honored to have Richard Stallman, to talk about Free Software and Medicine, as well as other very important organizations, such as the Red Cross. This event is free of charge, but you need to register.

In the technical sessions, we will have talks from the GNU Health, Tryton and Free Software community members such as Nicolas Evrard (Tryton), Axel Braun (OpenSUSE), Dr. Etienne Saliez and Dr. Ferrer (telemedicine) . This is still a partial list. If you want to make a presentation, you have time until September 5th.

IWEEE is more than just technical sessions. It's about social activism and Free Software philosophy. It's about giving voice to the voiceless. It's about stepping out from the comfort zone to address, denounce and find solutions to social determinants of health, in the widest sense.

Of course, it's a also a great opportunity to get together, networking, and enjoy the beautiful city of Las Palmas, and Gran
Canaria.

Please share the news with #IWEEE2015 http://www.iweee.org

Looking forward to seeing you in Las Palmas !

--
Luis Falcon, M.D.
GNU Health: Freedom and Equity in Healthcare
http://health.gnu.org

by Luis Falcon at August 26, 2015 12:38 AM

August 25, 2015

Gary Benson

td_ta_map_lwp2thr

To debug live processes on modern Linux GDB needs four libthread_db functions:

  • td_ta_map_lwp2thr (required for initial attach)
  • td_thr_get_info (required for initial attach)
  • td_thr_tls_get_addr (not required for initial attach, but required for “p errno” on regular executables)
  • td_thr_tlsbase (not required for initial attach, but required for “p errno” for -static -pthread executables)

To debug a corefile on modern Linux GDB needs one more libthread_db function:

  • td_ta_thr_iter

GDB makes some other libthread_db calls too, but these are bookkeeping that won’t be required with the replacement. So, the order of work will be:

  1. Implement replacements for the four core functions.
  2. Get those approved and committed in GDB, BFD and glibc (and in binutils, coreutils readelf).
  3. Replace td_ta_thr_iter too, and get that committed.
  4. Implement runtime-linker interface stuff to allow GDB to follow dlmopen.

The first (non-bookkeeping) function GDB calls is td_ta_map_lwp2thr and it’s a pig. If I can do td_ta_map_lwp2thr I can do anything.

When you call it, td_ta_map_lwp2thr has four ways it can proceed:

  1. If __pthread_initialize_minimal has not gotten far enough we can’t rely on whatever’s in the thread registers. If this is the case, td_ta_map_lwp2thr checks that the LWP is the initial thread and sets th->th_unique to NULL. (Other bits of libthread_db spot this NULL and act accordingly.) td_ta_map_lwp2thr decides whether __pthread_initialize_minimal has gotten far enough by examining __stack_user.next in the inferior. If it’s NULL then __pthread_initialize_minimal has not gotten far enough.
  2. On ta_howto_const_thread_area architectures (x86_64, aarch64, arm)
    [glibc/sysdeps/*/nptl/tls.h has
      #define DB_THREAD_SELF CONST_THREAD_AREA(bits, value)
    which exports
      const uint32_t _thread_db_const_thread_area = value;
    from glibc/nptl_db/db_info.c]:

    • td_ta_map_lwp2thr will call ps_get_thread_area with value

    to set th->th_unique.

    ps_get_thread_area (in GDB) does different things for different
    architectures:

    1. on x86_64, value is a register number (FS or GS)
      ps_get_thread_area returns the contents of that register.
    2. on arm, GDB uses PTRACE_GET_THREAD_AREA, NULL and subtracts value from the result.
    3. on aarch64, GDB uses PTRACE_GETREGSET, NT_ARM_TLS and subtracts value from the result.
  3. On ta_howto_reg architectures (ppc*, s390*)
    [glibc/sysdeps/*/nptl/tls.h has
      #define DB_THREAD_SELF REGISTER(bits, size, regofs, bias)...
    which exports
      const uint32_t _thread_db_register32[3] = {size, regofs, bias};
    and/or
      const uint32_t _thread_db_register64[3] = {size, regofs, bias};
    from glibc/nptl_db/db_info.c]:

    td_ta_map_lwp2thr will:

    • call ps_lgetregs to get the inferior’s registers
    • get the contents of the specified register (with _td_fetch_value_local)

        and

    • SUBTRACT bias from the register’s contents

    to set th->unique.

  4. On ta_howto_reg_thread_area architectures (i386)
    [glibc/sysdeps/*/nptl/tls.h has
      #define DB_THREAD_SELF REGISTER_THREAD_AREA(bits, size, regofs, bias)...
    which exports
      const uint32_t _thread_db_register32_thread_area[3] = {size, regofs, bias};
    and/or
      const uint32_t _thread_db_register64_thread_area[3] = {size, regofs, bias};
    from glibc/nptl_db/db_info.c]:

    td_ta_map_lwp2thr will:

    • call ps_lgetregs to get the inferior’s registers
    • get the contents of the specified register (with _td_fetch_value_local)
    • RIGHT SHIFT the register’s contents by bias

        and

    • call ps_get_thread_area with that number

    to set th->unique.

    ps_get_thread_area (in GDB) does different things for different
    architectures:

    1. on i386, GDB uses PTRACE_GET_THREAD_AREA, VALUE and returns the second element of the result.

Cases 2, 3, and 4 will obviously be hardwired into the specific architecture’s libpthread. But… yeah.

by gbenson at August 25, 2015 03:24 PM

Infinity

I’m writing a replacement for libthread_db. It’s called Infinity.

Why? Because libthread_db is a pain in the ass for debuggers. GDB has to watch for inferiors loading thread libraries. It has to know that, for example, on GNU/Linux, when the inferior loads libpthread.so then GDB has to locate the corresponding libthread_db.so into itself and use that to inspect libpthread’s internal structures. How does GDB know where libthread_db is? It doesn’t, it has to search for it. How does it know, when it finds it, that the libthread_db it found is compatible with the libpthread the inferior loaded? It doesn’t, it has to load it to see, then unload it if it didn’t work. How does GDB know that the libthread_db it found is compatible with itself? It doesn’t, it has to load it and, erm, crash if it isn’t. How does GDB manage when the inferior (and its libthread_db) has a different ABI to GDB? Well, it doesn’t.

libthread_db means you can’t debug an application in a RHEL 6 container with a GDB in a RHEL 7 container. Probably. Not safely. Not without using gdbserver, anyway–and there’s no reason you should have to use gdbserver to debug what is essentially a native process.

So. Infinity. In Infinity, inspection functions for debuggers will be shipped as bytecode in ELF notes in the same file as the code they pertain to. libpthread.so, for example, will contain a bunch of Infinity notes, each representing some bit of functionality that GDB currently gets from libthread_db. When the inferior starts or loads libraries GDB will find the notes in the files it already loaded and register their functions. If GDB notices it has, for example, the full set of functions it requires for thread support then, boom, thread support switches on. This happens regardless of whether libpthread was dynamically or statically linked.

(If you’re using gdbserver, gdbserver gives GDB a list of Infinity functions it’s interested in. When GDB finds these functions it fires the (slightly rewritten) bytecode over to gdbserver and gdbserver takes it from there.)

Concrete things I have are: a bytecode format (but not the bytecode itself), an executable with a couple of handwritten notes (with some junk where the bytecode should be), a readelf that can decode the notes, a BFD that extracts the notes and a GDB that picks them up.

What I’m doing right now is rewriting a function I don’t understand (td_ta_map_lwp2thr) in a language I’m inventing as I go along (i8) that’ll be compiled with a compiler that barely exists (i8c) into a bytecode that’s totally undefined to be executed by an interpreter that doesn’t exist.

(The compiler’s going to be written in Python, and it’ll emit assembly language. It’s more of an assembler, really. Emitting assembler rather than going straight to bytecode simplifies things (e.g. the compiler won’t need to understand numbers!) at the expense of emitting some slightly crappy code (e.g. instruction sequences that add zero). I’m thinking GDB will eventually JIT the bytecode so this won’t matter. GDB will have to JIT if it’s to cope with millions of threads, but jitted Infinity should be faster than libthread_db. None of this is possible now, but it might be sooner than you thing with the GDB/GCC integration work that’s happening. Besides, I can think of about five different ways to make an interpreter skip null operations in zero time.)

Future applications for Infinity notes include the run-time linker interface.

Watch this space.

by gbenson at August 25, 2015 12:24 AM

August 24, 2015

sysutils @ Savannah

Sysutils is getting some new life.

Some more shinny code and a lot of bug fixes are coming.

by Scotty Moran at August 24, 2015 07:57 PM

FSF Blogs

New version of the Emacs Manual plus GNU Press discounts

GNU Press announces the release of Emacs Manual Version 24.5, which contains approximately 2.5 more years of Emacs documentation than version 24.2. Each manual comes with an Emacs Reference Card Version 24.5, which can also be purchased separately. Also, there are a few copies of Emacs Manual Version 24.2, which has now been reduced to $35.

There are a few logo knives left in the shop, and they will not be reordered. The logo knives come in two types: the larger cybertool, which is the perfect toolkit for system administrators on the go, and the rally knives, which are more compact.

An Introduction to Programming in Emacs Lisp, 3rd Edition is the perfect book to learn about programming and is now reduced in price to $25! Now, you may also pick up a copy of the book signed by Richard Stallman.

As always, if you can't find something in the store but think we should offer it, please add your suggestion to our Ideas page. And remember, associate members of the Free Software Foundation get a 20% discount on all purchases made through the GNU Press store, so if you are not a member already, join today! To keep up with announcements about new products available in the GNU Press store, subscribe to the mailing list.

August 24, 2015 03:10 PM

August 22, 2015

gnuzilla @ Savannah

IceCat 31.8.0-gnu2 release

GNUzilla is the GNU version of the Mozilla suite, and GNU IceCat is the GNU version of the Firefox browser. Its main advantage is an ethical one: it is entirely free software. While the Firefox source code from the Mozilla project is free software, they distribute and recommend non-free software as plug-ins and addons. Also their trademark license restricts distribution in several ways incompatible with freedom 0.
https://www.gnu.org/software/gnuzilla/

The user manual pages are at http://libreplanet.org/wiki/Group:IceCat/
You can contribute by joining the wiki and editing the manuals.

Source tarballs, binaries for generic GNU/Linux systems and translations are available at http://ftp.gnu.org/gnu/gnuzilla/31.8.0-gnu2/
GPG key ID:D7E04784 GNU IceCat releases
Fingerprint: A573 69A8 BABC 2542 B5A0 368C 3C76 EED7 D7E0 4784
https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=gnuzilla

Changes since v31.8.0

  • Applied patch for CVE-2015-4473 CVE-2015-4482 CVE-2015-4488 CVE-2015-4489 CVE-2015-4491 CVE-2015-4492 CVE-2015-4495 from Guix

by Ruben Rodriguez at August 22, 2015 09:48 PM

FSF Events

Richard Stallman to speak in Seattle, WA

Richard Stallman will be speaking at Washington University. His speech will be nontechnical, admission is gratis, and the public is encouraged to attend.

Speech topic, start time, and exact location to be determined.

Please fill out our contact form, so that we can contact you about future events in and around Seattle.

August 22, 2015 10:14 AM

parallel @ Savannah

GNU Parallel 20150822 ('Hans Vibeke') released

GNU Parallel 20150822 ('Hans Vibeke') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/

Haiku of the month:

Single job is slow.
Hundred parallel are fast.
Use GNU Parallel.
-- Ole Tange

New in this release:

  • If $job->skip() is called in {= =} the job will not be run.
  • @arg can now be used in {= =}: parallel echo '{= $arg[2] < 5 and $_="j" =}' ::: 1 2 3 ::: 4 5 6
  • Bug fixes and man page updates.

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job is can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with: (wget -O - pi.dk/3 || curl pi.dk/3/) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your commandline will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://www.gnu.org/s/parallel/merchandise.html
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --bibtex)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

by Ole Tange at August 22, 2015 09:52 AM

August 20, 2015

FSF Events

Richard Stallman - "Por una Sociedad Digital Libre" (Santiago de Chile, Chile)

Existen muchas amenazas a la libertad en la sociedad digital, tales como la vigilancia masiva, la censura, las esposas digitales, el software privativo que controla a los usuarios y la guerra contra la práctica de compartir. El uso de servicios web presenta otras más amenazas a la libertad de los usuarios. Por último, no contamos con ningún derecho concreto para hacer nada en Internet, todas nuestras actividades en línea son precarias y podremos continuar con ellas siempre y cuando las empresas deseen cooperar.

Esa charla de Richard Stallman no será técnica y será abierta al público; todos están invitados a asistir.

Favor de rellenar este formulario, para que podamos contactarle acerca de eventos futuros en la región de Santiago.

August 20, 2015 08:09 PM

August 19, 2015

FSF Events

Richard Stallman - "El movimiento del software libre" (Lima, Peru)

Richard Stallman hablará sobre las metas y la filosofía del movimiento del Software Libre, y el estado y la historia del sistema operativo GNU, el cual junto con el núcleo Linux, es actualmente utilizado por decenas de millones de personas en todo el mundo.

Esa charla de Richard Stallman no será técnica y será abierta al público; todos están invitados a asistir.

Favor de rellenar este formulario, para que podamos contactarle acerca de eventos futuros en la región de Lima.

August 19, 2015 01:54 PM

Richard Stallman - "The Free Software Movement" (New York, NY)

Richard Stallman will speak about the goals and philosophy of the Free Software Movement, and the status and history of the GNU operating system, which in combination with the kernel Linux is now used by tens of millions of users world-wide.

Richard Stallman's speech will be nontechnical, admission is gratis, and the public is encouraged to attend.

Please fill out our contact form, so that we can contact you about future events in and around New York City.

August 19, 2015 01:53 PM

Richard Stallman - "Free Software and Your Freedom" (SeaGL, Seattle, WA)

Richard Stallman will be delivering the keynote speech at this year's SeaGL, the 2015 Seattle GNU/Linux Conference. His speech will be nontechnical, admission is gratis, and the public is encouraged to attend.

Please fill out our contact form, so that we can contact you about future events in and around Seattle.

August 19, 2015 01:44 PM

August 17, 2015

FSF Blogs

Make your site LibreJS-friendly and HTML5-valid with rel=jslicense attribute

In 2012 the FSF published human- and machine-readable recommendations for labeling the license and source information for JavaScript (JS) programs on the Web. In addition to recommending the use of license and source tags for comment fields, we also encourage sites to maintain a single page of JavaScript License Web Labels, which contains a table with three columns with links to the (minified) JS file used on a given page, the license of that JS program, and the source code of that program. On each page that uses JavaScript, we encourage people to include a link to the labels page, and within the HTML link, to make use of a machine-readable attribute/value combination of rel="jslicense". For example, the footer of fsf.org has the following HTML:

<a href="https://weblabels.fsf.org/www.fsf.org/CURRENT/" rel="jslicense">JavaScript Licenses</a></pre>

The rel="jslicense" attribute allows tools, such as GNU LibreJS, to know where to find the labels page to determine if each JS file being served is free software, and if it is, then to allow your browser to download and run that program.

Unfortunately, when we first published our web labels recommendation, one problem web developers encountered was the fact that rel="jslicense" attribute was not considered "valid" HTML5, and so tools such as W3C's Markup Validation Service would return an error stating that the rel="jslicense" tag was invalid attribute. However, earlier this month, we were able to get rel="jslicense" to become a rel value that is considered valid HTML5.

To get rel="jslicense" recognized as a valid HTML5 link type, we needed to get it listed on the existing-rel-values page of the Microformats.org wiki. Specifically, the W3C's HTML5 specification states that link types defined as extensions in the Microformats.org wiki page with the status "proposed" or "ratified" may be used with the rel attribute on <link>, <a>, and <area> tags. So, in 2014, we submitted our "jslicense" rel-value for review on Microformats.org, and then after some conversations with Microformats.org administrators and showing that various sites were actually making use of "jslicense" rel-value, the good folks at Microformats.org listed "jslicense" as a valid (i.e. "proposed") HTML5 link type extension.

Special thanks to Tantek Çelik of Microformats.org for taking the time to give us feedback on our proposal and for ultimately adding it as a proposed value.

August 17, 2015 06:11 PM

August 15, 2015

easejs @ Savannah

GNU ease.js 0.2.6 released

GNU ease.js 0.2.6 released [stable]

This is a minor release, focusing on a single compatibility issue.

This release succeeds v0.2.5, which was released 28 May, 2015. There are no
backwards-incompatible changes; support continues for ECMAScript 3+.

Changes between 0.2.5 and 0.2.6:
* `require` paths in index.js changed to be compatible with Browserify
- Browserify will now properly recognize all require'd modules;
previously, it was halting after processing only index.js.

Historical release notes are available at:
https://www.gnu.org/software/easejs/release-notes.html

Getting GNU ease.js
-------------------
Here are the compressed sources and a GPG detached signature[*]:
https://ftp.gnu.org/gnu/easejs/easejs-0.2.6.tar.gz
https://ftp.gnu.org/gnu/easejs/easejs-0.2.6.tar.gz.sig

Alternative download options are available at:
http://www.gnu.org/software/easejs/download.html

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:

gpg --verify easejs-0.2.6.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys 8EE30EAB

and rerun the 'gpg --verify' command.

by Mike Gerwitz at August 15, 2015 04:35 AM

August 14, 2015

teseq @ Savannah

GNU teseq 1.1.1 release

Announcing the release of version 1.1.1 of GNU Teseq, the Escape Sequence
Illuminator.

GNU Teseq (the author pronounces it: "tea" + "seek") is a tool for
analyzing files that contain control characters and terminal control
sequences, by printing these control sequences and their meanings in
readable English. It is intended to be useful for debugging terminal
emulators, and programs that make heavy use of advanced terminal
features such as cursor movement, coloring, and other effects.

Teseq is useful for:
* creating animated, interactive demos to run on the terminal (see
<https://asciinema.org/a/7445> for a video on how to do this),
* knowing the exact output of a program (Did it have spaces at the
end of the line? Or maybe it contains invisible control
characters?),
* examining a text file's contents unambiguously, a la 'cat -v' or
the 'ed' program's 'l' command (but with much more information),
* stripping control sequences from a text file, e.g. to produce a
plain ascii text file from a typescript file generated by the
'script' command (see example below),
* examining the invisible control sequences within a text file, that
affect graphical formatting or character encoding, in order to
understand how they work and where they appear in the file, or
* debugging graphical terminal applications, and terminal emulators
(its originally-intended purpose).

The Teseq home page is located at http://www.gnu.org/software/teseq/

GNU Teseq 1.1.1 may be downloaded from http://ftp.gnu.org/gnu/teseq/
or via automatically-chosen mirrors from http://ftpmirror.gnu.org/teseq/

Online documentation is found at http://www.gnu.org/software/teseq/manual/

NEWS

Version 1.1.1

  • Updated all files to reflect new email address for maintainer:

micah@addictivecode.org (previous address, micah@cowan.name, is no
longer valid)

  • Added links in the (Texinfo) manual to playable videos that

demonstrate basic teseq functionality, and how to use teseq to create
and edit interactive terminal demos:

* https://asciinema.org/a/7443
* https://asciinema.org/a/7445

  • Added example in the manual for using teseq to strip escapes out of a

typescript file.

  • Note: a new (optional) build dependency has been introduced:

pkg-config, which is now used to find whether libcheck is installed.

  • BUG FIX: Fixed an issue where teseq could spin indefinitely churning

out \xFF bytes on no further input. Input from a command such as
$ printf '\033!!\177'
would produce this issue.

This issue was discovered by means of american fuzzy lop,
http://lcamtuf.coredump.cx/afl/

  • BUG FIX: Fixed an issue with \x7F (DEL) being treated as a valid final

character for control sequences, and being printed on teseq's output
(which should not be printing non-whitespace control characters).

Building GNU Teseq

Building Teseq requires nothing beyond a normal Unix build
environment, plus the help2man utility to generate the manpages.
Running the full suite of accompanying tests, or
building documentation, may require some additional software.

by Micah Cowan at August 14, 2015 10:02 PM

libc @ Savannah

The GNU C Library version 2.22 is now available

The GNU C Library
=================

The GNU C Library version 2.22 is now available.

The GNU C Library is used as the C library in the GNU system and
in GNU/Linux systems, as well as many other systems that use Linux
as the kernel.

The GNU C Library is primarily designed to be a portable
and high performance C library. It follows all relevant
standards including ISO C11 and POSIX.1-2008. It is also
internationalized and has one of the most complete
internationalization interfaces known.

The GNU C Library webpage is at http://www.gnu.org/software/libc/

Packages for the 2.22 release may be downloaded from:
http://ftpmirror.gnu.org/libc/
http://ftp.gnu.org/gnu/libc/

The mirror list is at http://www.gnu.org/order/ftp.html

NEWS for version 2.22
=====================

  • The following bugs are resolved with this release:

438, 4719, 6544, 6792, 11216, 12836, 13028, 13064, 13151, 13152, 14094,
14292, 14841, 14906, 14958, 15319, 15467, 15790, 15969, 16159, 16339,
16350, 16351, 16352, 16353, 16361, 16512, 16526, 16538, 16559, 16560,
16704, 16783, 16850, 17053, 17090, 17195, 17269, 17293, 17322, 17403,
17475, 17523, 17542, 17569, 17581, 17588, 17596, 17620, 17621, 17628,
17631, 17692, 17711, 17715, 17776, 17779, 17792, 17833, 17836, 17841,
17912, 17916, 17930, 17932, 17944, 17949, 17964, 17965, 17967, 17969,
17977, 17978, 17987, 17991, 17996, 17998, 17999, 18007, 18019, 18020,
18029, 18030, 18032, 18034, 18036, 18038, 18039, 18042, 18043, 18046,
18047, 18049, 18068, 18080, 18093, 18100, 18104, 18110, 18111, 18116,
18125, 18128, 18134, 18138, 18185, 18196, 18197, 18206, 18210, 18211,
18217, 18219, 18220, 18221, 18234, 18244, 18245, 18247, 18287, 18319,
18324, 18333, 18346, 18371, 18383, 18397, 18400, 18409, 18410, 18412,
18418, 18422, 18434, 18444, 18457, 18468, 18469, 18470, 18479, 18483,
18495, 18496, 18497, 18498, 18502, 18507, 18508, 18512, 18513, 18519,
18520, 18522, 18527, 18528, 18529, 18530, 18532, 18533, 18534, 18536,
18539, 18540, 18542, 18544, 18545, 18546, 18547, 18549, 18553, 18557,
18558, 18569, 18583, 18585, 18586, 18592, 18593, 18594, 18602, 18612,
18613, 18619, 18633, 18641, 18643, 18648, 18657, 18676, 18694, 18696.

  • Cache information can be queried via sysconf() function on s390 e.g. with

_SC_LEVEL1_ICACHE_SIZE as argument.

  • A buffer overflow in gethostbyname_r and related functions performing DNS

requests has been fixed. If the NSS functions were called with a
misaligned buffer, the buffer length change due to pointer alignment was
not taken into account. This could result in application crashes or,
potentially arbitrary code execution, using crafted, but syntactically
valid DNS responses. (CVE-2015-1781)

  • The time zone file parser has been made more robust against crafted time

zone files, avoiding heap buffer overflows related to the processing of
the tzh_ttisstdcnt and tzh_ttisgmtcnt fields, and a stack overflow due to
large time zone data files. Overly long time zone specifiers in the TZ
variable no longer result in stack overflows and crashes.

  • A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors

for LD and GD on x86 and x86-64, has been implemented. You will need
binutils-2.24 or later to enable this optimization.

  • Character encoding and ctype tables were updated to Unicode 7.0.0, using

new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red
Hat). These updates cause user visible changes, such as the fix for bug
17998.

  • CVE-2014-8121 The NSS backends shared internal state between the getXXent

and getXXbyYY NSS calls for the same database, causing a denial-of-service
condition in some applications.

  • Added vector math library named libmvec with the following vectorized x86_64

implementations: cos, cosf, sin, sinf, sincos, sincosf, log, logf, exp, expf,
pow, powf.
The library can be disabled with --disable-mathvec. Use of the functions is
enabled with -fopenmp -ffast-math starting from -O1 for GCC version >= 4.9.0.
Shared library libmvec.so is linked in as needed when using -lm (no need to
specify -lmvec explicitly for not static builds).
Visit <https://sourceware.org/glibc/wiki/libmvec> for detailed information.

  • A new fmemopen implementation has been added with the goal of POSIX

compliance. The new implementation fixes the following long-standing
issues: BZ#6544, BZ#11216, BZ#12836, BZ#13151, BZ#13152, and BZ#14292. The
old implementation is still present for use be by existing binaries.

  • The 32-bit sparc sigaction ABI was inadvertently broken in the 2.20 and 2.21

releases. It has been fixed to match 2.19 and older, but binaries built
against 2.20 and 2.21 might need to be recompiled. See BZ#18694.

  • Port to Native Client running on ARMv7-A (--host=arm-nacl).

Contributed by Roland McGrath (Google).

Contributors
============

This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:

Adhemerval Zanella
Alan Modra
Alexandre Oliva
Andreas Schwab
Andrew Senkevich
Andriy Rysin
Arjun Shankar
Aurelien Jarno
Benno Schulenberg
Brad Hubbard
Carlos O'Donell
Chris Metcalf
Christian Schmidt
Chung-Lin Tang
Cong Wang
Cyril Hrubis
Daniel Marjamäki
David S. Miller
Dmitry V. Levin
Eric Rannaud
Evangelos Foutras
Feng Gao
Florian Weimer
Gleb Fotengauer-Malinovskiy
H.J. Lu
Igor Zamyatin
J William Piggott
James Cowgill
James Lemke
John David Anglin
Joseph Myers
Kevin Easton
Khem Raj
Leonhard Holz
Mark Wielaard
Marko Myllynen
Martin Galvan
Martin Sebor
Matthew Fortune
Mel Gorman
Mike Frysinger
Miroslav Lichvar
Nathan Lynch
Ondřej Bílka
Paul Eggert
Paul Pluzhnikov
Pavel Kopyl
Pravin Satpute
Rajalakshmi Srinivasaraghavan
Rical Jasan
Richard Henderson
Roland McGrath
Rüdiger Sonderfeld
Samuel Thibault
Siddhesh Poyarekar
Stefan Liebler
Steve Ellcey
Szabolcs Nagy
Torvald Riegel
Tulio Magno Quites Machado Filho
Vincent Bernat
Wilco Dijkstra
Yaakov Selkowitz
Zack Weinberg

by Carlos O'Donell at August 14, 2015 08:42 PM

August 12, 2015

FSF Blogs

FSF30: Get in on the party and User Freedom Summit, in Boston and worldwide!

If you're planning to join the celebration, with hors d'oeuvres, drinks, an address by FSF founder and president Richard Stallman, and lots of birthday fun, RSVP now! The party has a limited capacity, and many free software supporters have already let us know they'll be attending.

If you're attending and want to brag about it on social media, use the hashtag #FSF30.

But that's not all -- we're also holding a User Freedom Summit in the daytime, before the party. The theme of the summit is "Thirty Years, Four Freedoms," and it will feature sessions for longtime free software fans and those who are new to free software. Stay tuned for more details on the summit, including session information and registration.

Bookmark the event homepage for lodging suggestions and more information about the summit and other festivities that weekend, coming soon.

Join our worldwide party network!

We know that not every free software fan will join us in person in Boston -- so we're hosting a party network where you can promote your own party (we'll even offer some ideas for making your event lots of fun!) We'll have a livestream of the Boston party, and welcome photos and reports from your own parties, too!

Renew your membership to support our work for computer user freedom

Dedicated supporters like you have made our thirty wonderful years possible. Renew your associate membership so that we can do even more in the next thirty. We're pleased to offer current members special benefits, including gratis admission to our LibrePlanet conference each spring.

If you'd rather not renew your membership, you can also help by making a donation when you RSVP, or on our regular donation page.

Volunteer or sponsor

If you are interested in helping out at the summit or the party, we welcome you! In addition to setting up the venue and greeting guests, we need people with skills in free software livestreaming. All volunteers will receive a special reverse birthday gift from us to you.

The FSF is also seeking general event, beverage, or food sponsors. To sponsor or recommend a sponsor, or to volunteer, reply to this email.

See you in October!

August 12, 2015 07:55 PM

FSF Events

The FSF's 30th Birthday Party (Boston, MA)

Join the Free Software Foundation and friends in Boston, MA, to celebrate the culmination of our 30th year fighting for computer-user freedom, powered by supporters like you.

The festivities will include:

  • a fundraising dinner, on the eve of the event,
  • a mini conference,
  • an address by FSF founder Richard Stallman
  • and, of course, social time for catching up with old friends and making new ones!

Please see the anniversary celebration's page for details, as well as information on how you can help us celebrate, whether on-site or virtually.

Please fill out our contact form, so that we can contact you about future events in and around Boston.

August 12, 2015 11:01 AM

August 10, 2015

GNU Remotecontrol

Newsletter – August 2015

THIS MONTH…..

  • TRENDS
  • EYE CATCHING
  • ANNUAL PLAN
  • DISCUSSIONS
  • EXISTING CODE
  • SECURITY
  • LASTLY
TRENDSThe stuff going on in the big picture now

United States Electricity Price per KWH
Present and Past

 

May June Trend % Change
$0.137 $0.143 Increase 4.38%

 

Year June Trend % Change % Since Difference
2005 $0.104 Same 0.00% 0.00% 0.00%
2006 $0.118 Increase 13.46% 13.46% 13.46%
2007 $0.122 Increase 3.39% 17.31% 3.85%
2008 $0.128 Increase 4.92% 23.08% 5.77%
2009 $0.132 Increase 3.13% 26.92% 3.85%
2010 $0.132 Same 0.00% 26.92% 0.00%
2011 $0.134 Increase 1.52% 28.85% 1.92%
2012 $0.135 Increase 0.75% 29.81% 0.96%
2013 $0.137 Increase 1.48% 31.73% 1.92%
2014 $0.143 Increase 4.38% 37.50% 5.77%
2015 $0.143 Same 0.00% 37.50% 0.00%

 

United Kingdom Utility Prices
Present and Past

London_Night

London by night

EYE CATCHINGThe stuff that has caught our eye

Demand Response
The push to determine authority for the topic of Demand Response seldom has a boring moment. An article describing the legal briefs to establish Demand Response authority demonstrate the intense desire to capture this segment of the up and coming Smart Grid. A commentary on the Demand Response topic found there is little chance of Demand Response not occurring with an established Smart Grid. California has recently approved a significant rate structure reform plan for residential electricity cost, centering around the time of use policy for achieving Demand Response. An analysis of commercial property using Demand Response found the necessity to earn a tax credit is in the automation aspect of Demand Response. AVEVA entered a sale of assets to Schneider Electric, for automating industrial efforts to help design and operate engineering projects. This move is clearly positioning Schneider to accomplish Demand Response for managing energy production in relationship to time of use pricing for any energy customer.

There is no doubt the insistence to have FERC Order 745 approved by the Supreme Court as valid authority has the attention of all involved in the Smart Grid. The suitable pursuit of an organization positioning their connection to the Smart Grid is led by both participation cost and data privacy. The latter is more likely the determining factor in participation cost, as data privacy involves both security against and liability for suffering a data breech. The struggle to define valid authority is a clear indication the future of the Smart Grid will have Demand Response not only as a part of the Smart Grid but most likely a mandate of the next generation national electrical grid.

Smart Grid – Consumer
A recent article found nearly half of the network enabled HVAC thermostats sold are connected two-way thermostats, opening up many options for utilities. Even some telecommunication companies are selling network connected HVAC thermostats as a package to help sell other offerings. The dominant player in this space is undoubtedly Nest. Nest is not sold on a global basis, but in about a half-dozen countries. This small footprint means the network enabled HVAC thermostat is not a globally needed technology in the global market of today. A segment of the global market clearly wants network connected technologies, but assembling them in a wise manner is a bit of a challenge. A recent article found technologies can assist to operate a home but do not necessarily make life easier. The recent Electric Utility Residential Customer Satisfaction Study found ongoing communication efforts and increased price satisfaction are key drivers behind the third consecutive year of improved overall customer satisfaction with residential electric utility companies.

The electricity of today does not contain any more or less efficiency characteristics compared to the electricity of yesterday. The progressively increasing cost of electricity is more than a rise in a regional cost of living. It is a rise in the cost to produce electricity and prepare to join the Smart Grid. It is highly unlikely any electricity customer will continue to pay more for the same offering and not receive some type of additional benefit. The offering of additional information to the customer, relevant to their purchasing of electricity, is a cost effective choice for the electricity producer. Defining and delivering this information seems to be the public debate now, but without the interest to actually supply the information due to lack of technologies to know and explain electricity consumption. It is a circular debate.

Smart Grid – Producer
A cellular service company has adopted the mindset of smart-grid-as-a-service as a cloud-hosted platform meant to connect Smart Metering, Demand Response, Meter Data Management, and Distribution Monitoring and Control under as single provider. The privacy of customer data is a concern with this offering. The Wi-SUN Alliance announced collaboration with India and their effort to upgrade their national electrical grid within a decade. The Wi-SUN Alliance seeks to advance seamless connectivity by promoting IEEE 802.15.4g, otherwise known as ZigBee. GNU remotecontrol has voiced concern about ZigBee and maintains this position. Nest also uses ZigBee, as do most Smart Meters. However, having ZigBee on the device does not necessarily mean ZigBee is enabled. The problem is knowing if and when ZigBee was enabled on a device. This is the crux of the concern with ZigBee, followed by their poor security model. An article by Harvard Business Review brings the matter into focus. The world has much more heat being contributed by computing technologies. This invariably means heat will cause the need for cooling of the computers. The article offers what is called a framework for revenue resilience, providing protection against volatility in energy demand.

Regardless the ability to dissipate the heat, the cost to dissipate the increased amount of heat means an impact to organizational revenue streams. Cost of either a wired or wireless connection must be measured by the total cost of ownership, to determine the lifecycle costs. Participation in the Smart Grid can occur in many forms, both small and large. It is a wiser choice to not join the Smart Grid until the total cost of ownership is calculated, including a suitable end-to-end security plan.

ANNUAL PLAN

Status of our 2015 Plan

ModelViewController

  • We are in development stage.
  • We are approximately 85% finished with development.
  • We have simplified index.php to have lesser fields for displaying thermostat profiles, through the usage of supporting web forms.
  • These additional web forms accommodate handling more information and separating information changing on a less frequent basis from the view of index.php page.
  • We have separated sensor calibration from the index.php page, to avoid any risk of inadvertently altering calibration settings.
  • We have achieved selecting thermostats by group functionality.
  • The outcome is only viewing what is necessary for changing HVAC control settings.
  • We are prepared to immediately enter structured system testing, upon completion of development.
  • We maintain our position to release a subsequent version, 2.1, within six months of releasing v2.0, as we do not want to delay MVC from being available to the general public.

Translation Subsystem

  • More work on the items addressed in the April 2015 newsletter.

ANSI C

  • More work on the items addressed in the April 2015 newsletter.

Talk to us with your comments and suggestions on our plan for the next year.

DISCUSSIONS

DEEP IN DEVELOPMENT
Our primary goal now is to deliver version 2.0 of GNU remotecontrol. All effort as of late is centered around this goal.

Please contact us, if you would like to participate in the completion of version 2.0.

OTHER TYPES OF THERMOSTATS?
Many people have asked us about adding other types of thermostats to GNU remotecontrol. There are three questions that need to be answered before we can offer GNU remotecontrol support for any IP thermostat. These questions are:

  • How to CONNECT to it (NETWORK).
  • How to READ from it (CODE).
  • How to WRITE to it (CODE).

It is our hope to have dozens and dozens of thermostat types that work with GNU remotecontrol. Let us know if you designed or manufactured a device and you would like to test it with GNU remotecontrol.

EXISTING CODEThe stuff you may want to consider

BUGS
We have 0 new bugs and 0 fixed bugs since our last Blog posting. Please review these changes and apply to your GNU remotecontrol installation, as appropriate.

TASKS
We have 0 new tasks and 0 completed tasks since our last Blog posting. Please review these changes and apply to your GNU remotecontrol installation, as appropriate.

SECURITYThe stuff you REALLY want to consider

BUSINESS BLACKOUT
A report into the insurance implications of a wide-scale cyber-attack on the US energy sector reveals just how costly the breach would be for government and insurers. A Stuxnet-style attack on US Smart Grid could cost $1 trillion USD to repair. The need to upgrade the national electrical grid is clear. The speed to accomplish this upgrade seems to be happening too slow, as an upgraded national electrical grid would not only be more resilient against attack but it would also most likely suffer a lesser impact of the attack. The FERC is considering how to address new cyber threats in updated reliability standards. However, they seem to be quite behind in providing any form of viable assistance either today or in the near future.

Selecting appropriate technology standards is a paramount decision for successfully joining the Smart Grid. Perhaps the most important characteristic of an appropriate technology standard is the security model for each standard implemented for any interface with the Smart Grid. It is a wiser choice to not join the Smart Grid until end-to-end security is established for any organization participating with the Smart Grid.

REMEMBER
GNU remotecontrol relies on OS file access restrictions, Apache authentication, MySQL authentication, and SSL encryption to secure your data. Talk to us you want to find out how you can further strengthen the security of your system, or you have suggestions for improving the security of our current system architecture.

LASTLY

Whatever you do…..don’t get beat up over your Energy Management strategy. GNU remotecontrol is here to help simplify your life, not make it more complicated. Talk to us if you are stuck or cannot figure out the best option for your GNU remotecontrol framework. The chances are the answer you need is something we have already worked through. We would be happy to help you by discussing your situation with you.

…..UNTIL NEXT MONTH!

Why the Affero GPL?

GNU Affero General Public License LOGO

GNU remotecontrol LOGO


by gnuremotecontrol at August 10, 2015 06:07 PM

GNUtls

GnuTLS 3.4.4

Released GnuTLS 3.3.17 and GnuTLS 3.4.4 which are bug fix releases in the current and next stable branches.

Added the GnuTLS-SA-2015-3 security advisory.

by Nikos Mavrogiannopoulos (nmav@gnutls.org) at August 10, 2015 12:00 AM

August 09, 2015

administration @ Savannah

Savannah IPv4 address has changed

The IPv4 addresses of the Savannah sites have been changed. All of the sites have been updated to use the new addresses. This may cause ssh warnings about an address change when committing to vcs repositories if your ssh is configured to warn on those changes. If so you will need to manually accept the new address. For a short time, until the old address stops working, both addresses will function to help smooth the migration.

by Bob Proulx at August 09, 2015 08:07 PM

August 08, 2015

administration @ Savannah

IPv4 address change for Savannah

The IPv4 address of the Savannah sites will be changing this weekend. The change in address is expected to be completed before Monday. This should be completely transparent to end users. No significant downtime is expected.

by Bob Proulx at August 08, 2015 05:14 AM

August 07, 2015

FSF Blogs

GNU Spotlight with Brandon Invergo: Nineteen new GNU releases!

For announcements of most new GNU releases, subscribe to the info-gnu mailing list: https://lists.gnu.org/mailman/listinfo/info-gnu.

To download: nearly all GNU software is available from https://ftp.gnu.org/gnu/, or preferably one of its mirrors from https://www.gnu.org/prep/ftp.html. You can use the url https://ftpmirror.gnu.org/ to be automatically redirected to a (hopefully) nearby and up-to-date mirror.

This month, we welcome Assaf Gordon as a new comaintainer of GNU Coreutils.

A number of GNU packages, as well as the GNU operating system as a whole, are looking for maintainers and other assistance: please see https://www.gnu.org/server/takeaction.html#unmaint if you'd like to help. The general page on how to help GNU is at https://www.gnu.org/help/help.html.

If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.

As always, please feel free to write to us at maintainers@gnu.org with any GNUish questions or suggestions for future installments.

August 07, 2015 10:11 PM

FSF Events

Richard Stallman - "El movimiento del software libre" (La Serena, Chile)

Richard Stallman hablará sobre las metas y la filosofía del movimiento del Software Libre, y el estado y la historia del sistema operativo GNU, el cual junto con el núcleo Linux, es actualmente utilizado por decenas de millones de personas en todo el mundo.

Esa charla de Richard Stallman no será técnica y será abierta al público; todos están invitados a asistir.

Favor de rellenar este formulario, para que podamos contactarle acerca de eventos futuros en la región de La Serena.

August 07, 2015 03:40 PM

Richard Stallman - "El movimiento del software libre" (Osorno, Chile)

Richard Stallman hablará sobre las metas y la filosofía del movimiento del Software Libre, y el estado y la historia del sistema operativo GNU, el cual junto con el núcleo Linux, es actualmente utilizado por decenas de millones de personas en todo el mundo.

Esa charla de Richard Stallman no será técnica y será abierta al público; todos están invitados a asistir.

Favor de rellenar este formulario, para que podamos contactarle acerca de eventos futuros en la región de Osorno.

August 07, 2015 03:00 PM

Richard Stallman - "El movimiento del software libre" (Arica, Chile)

Richard Stallman hablará sobre las metas y la filosofía del movimiento del Software Libre, y el estado y la historia del sistema operativo GNU, el cual junto con el núcleo Linux, es actualmente utilizado por decenas de millones de personas en todo el mundo.

Esa charla de Richard Stallman no será técnica y será abierta al público; todos están invitados a asistir.

Favor de rellenar este formulario, para que podamos contactarle acerca de eventos futuros en la región de Arica.

August 07, 2015 02:30 PM

August 06, 2015

FSF Events

Richard Stallman - "Free Software and Medicine" (IWEEE, Las Palmas, Spain)

Richard Stallman will be speaking at the International Workshop on e-Health in Emerging Economies (IWEEE) (2015-09-25--26). His speech will be in English, nontechnical, and the public is encouraged to attend.

Speech (afternoon) start time to be determined.

Please fill out our contact form, so that we can contact you about future events in and around Las Palmas.

August 06, 2015 04:55 PM

August 05, 2015

Nick Clifton

July/Augist 2015 GNU Toolchain Update

Hi Guys,

  Sorry for the delay in bringing you this update; I have been very busy in the last few months.  Anyway the highlights of the changes to the GNU Toolchain are as follows:

   * The GDB 7.10 branch has been created.  Expect a release soon.

   * Support for tracepoints on aarch64-linux was added in GDBserver.

   * A point update of the FSF Binutils - 2.25.1 - has been released.  No new features but lots of important bug fixes.

   * GCC 5.2 has been released.  This is a bug-fix update to the previous 5.1 release.

   * The linker now has experimental support for the removal of redundant sections from COFF and PE format files.  This is enabled via the --gc-sections linker command line option.

   * A new linker command line option --require-defined=<symbol> has been added.  This behaves in much the same way as the --undefined=<sym> option in that it creates a reference to an undefined symbol that should force a library to be pulled into the link or garbage collection not to remove a specific section.  The difference between --require-defined and --undefined is that with the former the linker will issue an error message if the specified symbol has not been defined by the end of the link.

  * The --disassemble (or -d) and --disassemble-all (or -D) options to objdump have received a subtle change.  With -d objdump will assume that any symbols present in a code section occur on the boundary between instructions and so it will refuse to disassemble across such a boundary.  With -D however this assumption is suppressed.  This means that it is possible for the output of -d and -D to differ if, for example, data is stored in a code section.

  * GCC has a couple of new warning options available:

    -Wframe-address

    This generates a warning when the __builtin_frame_address or __builtin_return_address are called with an argument greater than 0.  Such calls may return indeterminate values or crash the program.

      -Wtautological-compare

    This generates a warning if a self-comparison always evaluates to true or false.  This detects various mistakes such as:

      int i = 1;

      if (i > i) { ... }

  * With the Nios II port of GCC it is now possible to specify the target architecture variant with -march=r1 or -march=r2.  It is also possible to explicitly enable or disable the use of the r2 BMX (bit manipulation) and CDX (code density) instructions via the use of the new -mbmx -mno-bmx -mcdx and -mno-cdx options.

Cheers
  Nick

August 05, 2015 03:09 PM