[v3] revisited QNX 6.1 patch
J.T. Conklin
jtc@acorntoolworks.com
Tue Jun 11 12:46:00 GMT 2002
Benjamin Kosnik <bkoz@redhat.com> writes:
> > The same code works with the current QNX 6.2 beta, so changing the
> > -*-qnx6.1* to -*qnx6.[12]* would be appropriate. Otherwise we'll
> > need a patch in the near future.
>
> Done, thanks to you both for feedback.
I just updated my tree, and found one nit. The brackets in -qnx6.[12]*
were lost in the conversion from configure.in to configure. I think we
need something like:
*** configure.in 11 Jun 2002 18:11:02 -0000 1.83.2.9
--- configure.in 11 Jun 2002 19:32:12 -0000
***************
*** 158,164 ****
--- 158,166 ----
GLIBCPP_CHECK_WCHAR_T_SUPPORT
os_include_dir="config/os/mingw32"
;;
+ changequote(,)dnl
*-qnx6.[12]*)
+ changequote([,])dnl
SECTION_FLAGS='-ffunction-sections -fdata-sections'
AC_SUBST(SECTION_FLAGS)
GLIBCPP_CHECK_LINKER_FEATURES
> > Sorry I wasn't able to deliver a patch to you myself. I've been
> > simply overwhelmed by other projects this past week.
>
> Don't worry about it. If you get the chance, however, I would like some
> feedback on what to do with the "C" header issue. At this point, when
> you configure and build for QNX, do you pass in a --enable-cheaders=c on
> the configure line? Does it mostly work, or are additional tweaks
> necessary? If so, do you mind sharing them?
I'd like to follow up on the C header issue as soon as I can clear a
day or two out of my schedule. For the time being, I am configuring
with --enable-cheaders=c. It mostly works. I've enclosed the tweaks
I'm using. The declaration in new_op.cc conflicts with the system
headers, and src/cmath.cc doesn't build with cheaders=c. There is
a comment to that effect in that file, so I haven't followed up.
--jtc
Index: libsupc++/new_op.cc
===================================================================
RCS file: /cvsroot/gcc/gcc/libstdc++-v3/libsupc++/new_op.cc,v
retrieving revision 1.4
diff -c -r1.4 new_op.cc
*** libsupc++/new_op.cc 24 Oct 2001 02:37:55 -0000 1.4
--- libsupc++/new_op.cc 11 Jun 2002 19:32:15 -0000
***************
*** 34,40 ****
--- 34,42 ----
using std::new_handler;
using std::bad_alloc;
+ #if 0
extern "C" void *malloc (std::size_t);
+ #endif
extern new_handler __new_handler;
void *
Index: src/cmath.cc
===================================================================
RCS file: /cvsroot/gcc/gcc/libstdc++-v3/src/cmath.cc,v
retrieving revision 1.4
diff -c -r1.4 cmath.cc
*** src/cmath.cc 4 Jan 2002 21:27:35 -0000 1.4
--- src/cmath.cc 11 Jun 2002 19:32:16 -0000
***************
*** 36,41 ****
--- 36,42 ----
namespace std
{
+ #if 0
// This function is only declared/used in the cheaders=c_std case.
template float
__cmath_power<float>(float, unsigned int);
***************
*** 43,47 ****
--- 44,49 ----
__cmath_power<double>(double, unsigned int);
template long double
__cmath_power<long double>(long double, unsigned int);
+ #endif
} // namespace std
>
> What kind of testresults do you get, out of curiosity?
>
I haven't had time to run any of the gcc testsuites on QNX natively,
due to lack of dejagnu. I've spent a half day trying to port expect,
but other things came up and it's slipped to the back burner.
This is something I desparately want to follow up on, because one of
my complaints with QNX themselves is that their versions of the tools
don't seem to be adequately tested. Since I'm going to be taking on
this role for my company, I think I should be quantitatively better
than the default.
But since our code compiles with and runs well using my version of the
toolchain, and we haven't found any problems, I'm having a hard time
getting mgmt to give me the time to finish.
--jtc
--
J.T. Conklin
More information about the Libstdc++
mailing list