and hack to use mkstemp() instead of mktemp(). This *does* cause the
tempfile to be created at name generation time, but that's ok because
the code will fopen(tempname), use it, and the unlink it. Kinda cute
(``ugly but interesting'' :), but seems to work, and passes
'sh ./rcstest' as well as rudimentary tests by me.
<bsd.prog.mk> was being included before an .if !defined(NOPIC)
which added rtld to the SUBDIRs. This was so that the definition
of NOPIC would get picked up. Unfortunately, this is WRONG, because
after <bsd.prog.mk> is included you shouldn't be able to touch SUBDIR
as the magic has already happened.
However, a complementary bug in the .mk files kept anyone from
noticing until now.
Fixed by moving the include of <bsd.prog.mk> to the bottom and
including <bsd.own.mk> above the .if !defined, which is the correct
way to do this sort of thing.
support for shared libraries. Diffs from Manuel Bouyer, probably
derived from similar OpenBSD gcc diffs.
This change is in the source tree because it was used to build a NetBSD/pmax
shared-lib snapshot. The change isn't being integrated into the gcc2netbsd
script until the shared-lib diffs are finalized.
The NetbSD libc header files use GCC attributes to emit link-time warning
messages (e.g,. for gets()). SO, add a definition of the GCC back-end
macro ASM_OUTPUT_SECTION_NAME() to the mips back-end target-specific file.
This adds support for emitting warning attributes to binutils 2.6 or newer.
(Weak references may or may not work also).
This patch has been submitted to the FSF but hasn't made it into 2.7.2.1,
and seems to have got buried somewhere inside Cygnus.
the Alpha no longer needs -fno-for-scope. However, NetBSD/Alpha's
(cygnus snapshot) g++ doesn't allow virtual functions which aren't
declared inline to be later defined as inline without a warning (-> error).
Therefore, on the Alpha, define BROKEN_GXX_VIRTUAL_INLINE (which will
go away after the Alpha is upgraded to use a more recent toolchain), and
use it to make sure that declarations of virtual functions which will
be defined inline are actually marked as inline when they're declared.
the make to not fail even if the installations failed, which is wrong.
If the installations fail (e.g. because the target directory does not
exist), the whole install should fail, so that the user knows to
create the appropriate directories.