posix_spawn_file_actions_addopen needs to copy the path argument (BZ 17048)

POSIX requires that we make a copy, so we allocate a new string
and free it in posix_spawn_file_actions_destroy.

Reported by David Reid, Alex Gaynor, and Glyph Lefkowitz.  This bug
may have security implications.

(cherry picked from commit 89e435f3559c53084498e9baad22172b64429362)

https://bugs.gentoo.org/513090
https://sourceware.org/bugzilla/show_bug.cgi?id=17048
posix_spawn_faction_addopen: Add missing string.h include directive

This is needed to avoid a PLT call on s390.

(cherry picked from commit 35a5e3e338ae17f3d42c60a708763c5d498fb840)

https://bugs.gentoo.org/513090
https://sourceware.org/bugzilla/show_bug.cgi?id=17048
Fix sign of input to bsloww1 (BZ #16623)

In 84ba214c, I removed some redundant sign computations and in the
process, I incorrectly got rid of a temporary variable, thus passing
the absolute value of the input to bsloww1.  This caused #16623.

This fix undoes the incorrect change.

(cherry picked from commit ffe768a90912f9bce43b70a82576b3dc99e3121c)

https://bugs.gentoo.org/509494
https://sourceware.org/bugzilla/show_bug.cgi?id=16623