Ticket #2696 (new bug)

Opened 10 months ago

Last modified 6 days ago

unimplemented functions

Reported by: kaliber Owned by: axeld
Priority: normal Milestone: R1
Component: System/libroot.so Version: R1 development
Cc: haiku@…, planche2k@… Blocked By: #2564
Platform: All Blocking:

Description

I wrote a buggy script which detects declared but not implemented functions (symbols) in Haiku. It found (not a full list yet):

stdio.h:
	_ftell

setjmp.h:
	_setjmp

nl_types.h:
	catclose
	catgets
	catopen

math.h:
	__fpclassifyl
	__signbitf
	gamma_r
	gammaf_r

iconv.h:
	functions implemented in libtextencoding?

search.h:
	hcreate
	hdestroy
	hsearch
	remque

stdlib.h:
	random_r
	setstate_r
	srandom_r

wctype.h:
	towctrans

wchar.h:
	fgetws
	getwchar
	wcsftime

libio.h:
	_IO_feof_unlocked
	_IO_ferror_unlocked
	_IO_getc_unlocked ?
	_IO_peekc_unlocked ?
	_IO_putc_unlocked ?

Attachments

scripts.zip (0.9 KB) - added by kaliber 4 weeks ago.
scripts to detect unimplemented functions

Change History

  Changed 10 months ago by andreasf

  • cc andreas.faerber@… added
  • component changed from - General to System/libroot.so
  • blockedby 2564 added

  Changed 10 months ago by andreasf

#2564 was about __signbitf

  Changed 10 months ago by scottmc

  • cc haiku@… added

  Changed 10 months ago by korli

added remque in r27422

follow-up: ↓ 12   Changed 9 months ago by scottmc

This one is blocking HaikuPorts Ticket #70, which affects building the CVS version of CVS. So until the libio.h functions are implemented we won't have a Haiku native CVS. Good news is that the BeOS CVS has been working ok as far as I can tell.

  Changed 9 months ago by umccullough

Is it true that no native version can be built?

It seems the CVS here:

http://haiku-files.org/files/optional-packages/

May be a native version already. At least, it seems to be built for /boot/common already.

IIRC, this was provided by stippi, but I can't confirm that.

  Changed 9 months ago by scottmc

In that zip file the .OptionalPackageDescription said it was the BeOS version... It's possible to build 1.12.13 with a bit of hacking along the way, which is what I'll probably do. But no use in sending in patches for that as the cvs version of cvs has dropped a lot of files some of which need to be patched on 1.12.13. Andreas got it mosted working: http://ports.haiku-files.org/wiki/dev-util/cvs I'll take another look at in the next few days here. But the cvs version of cvs is stuck util the functions actually exist.

  Changed 9 months ago by axeld

libio.h is not a POSIX header, and the functionality doesn't seem to be standardized anywhere. If CVS is using it now for whatever reason (poor maintainer IMO), I would think we could easily live with an older version of it.

  Changed 8 months ago by scottmc

@Kaliber
Can you post your buggy script here? Might be useful in rechecking these from time to time.

  Changed 5 months ago by harsha

so far found the following functions already in haiku math.h:

fpclassifyl -> system/libroot/posix/glibc/arch/x86/s_fpclassifyl.c

signbitf -> system/libroot/posix/glibc/arch/generic/s_signbitf.c

gamma_r -> system/libroot/posix/glibc/arch/generic/e_gamma_r.c

gammaf_r -> /system/libroot/posix/glibc/arch/generic/e_lgamma_r.c

wctype.h

towctrans -> system/libroot/posix/glibc/wctype/towctrans.c

I added the following functions nl_types.h:

catclose

catgets

catopen

when i am building they are not linking . can anybody tell me what i am missing. I added the files under glibc and doing a normal build. and this is what my target vmware image contains

$>strings Haiku-IDE_0-1.vmdk | grep "catclose"

/* SYSCALLS.c:385:NC */ extern int catclose (nl_catd);

Changed 4 weeks ago by kaliber

scripts to detect unimplemented functions

  Changed 4 weeks ago by kaliber

Here is updated report (r30960). It covers everything except compatibility headers (bsd):

stdio.h:
	_ftell (_IO_ftell)

math.h:
	gammaf_r (__ieee754_gammaf_r)
	gamma_r (__ieee754_gamma_r)
	lgammal (__ieee754_lgammal_r)

search.h:
	hcreate
	hdestroy
	hsearch

iconv.h:
	iconv (libiconv)
	iconv_close (libiconv_close) 
	iconv_open (libiconv_open)

dirent.h:
	seekdir
	telldir

setjmp.h:
	_setjmp (setjmp)

wchar.h:
	wcsftime

Please close the ticket #2702

in reply to: ↑ 5   Changed 4 weeks ago by scottmc

Replying to scottmc:

This one is blocking HaikuPorts Ticket #70, which affects building the CVS version of CVS. So until the libio.h functions are implemented we won't have a Haiku native CVS. Good news is that the BeOS CVS has been working ok as far as I can tell.

HaikuPorts ticket 70 has been closed as fixed.

  Changed 6 days ago by andreasf

  • cc andreas.faerber@… removed

  Changed 6 days ago by andreasf

  • cc planche2k@… added
Note: See TracTickets for help on using tickets.