Recent versions of U-Boot require us to also backup and restore r9 for API
calls to work.
libcpp: Keep a record of changes from upstream GCC (pre-43).

This makes it easier to track the changes in the rare event of the code
being distributed without access to version control.

MFC after:	3 weeks
platform_devmap_init() was renamed initarm_devmap_init() in r257669, update
comments to match.
sh: Add more tests for the </dev/null implicit in a background command.
Fix typo in comment.
sh: Make <&0 disable the </dev/null implicit in a background command.

Although <&0 does nothing, it is a redirection affecting standard input and
should therefore disable the </dev/null redirection implicit in a background
command.
Add ICONV_{GET,SET}_ILSEQ_INVALID iconvctl.  GNU iconv returns EILSEQ
when there is an invalid character in the output codeset while it is
valid in the input.  However, POSIX requires iconv() to perform an
implementation-defined conversion on the character.  So, Citrus iconv converts
such a character to a special character which means it is invalid in the
output codeset.

This is not a problem in most cases but some software like libxml2 depends
on GNU's behavior to determine if a character is output as-is or another form
such as a character entity (&#NNN;).
[automated] Merge in upstream-github/master