SOURCES: unixODBC-types.patch - do it the riht way using SIZEOF_LONG

Jakub Bogusz qboosh w pld-linux.org
Pią, 8 Paź 2004, 21:24:11 CEST


On Fri, Oct 08, 2004 at 08:51:02PM +0200, havner wrote:
> On Fri, Oct 08, 2004 at 08:35:32PM +0200, Jakub Bogusz wrote:
> > Firebird nie jest tu żadnym wyznacznikiem, bo nie dostarcza API ODBC(?),
> > więc jest to tylko konflikt nazw typów używanych do różnych rzeczy - do
> > rozwiązania w inny sposób (pewnie jakimiś hackami z #define).
> > mikmod też używa 32-bitowych typów o nazwach [SU]LONG, a ma jeszcze
> > mniej wspólnego z ODBC.
> > 
> > Jak to w unixODBC (i libiodbc) powinno być, to zależy do czego służy,
> > czy jest używane lokalnie czy zdalnie itd. - trzeba by pośledzić.
> > Czy to mają być typy odpowiadające danym typom C, czy zawsze o tym samym
> > rozmiarze (ale od tego jest UDWORD i SDWORD).
> > 
> > Nie wiem czy jest do tego jakaś specyfikacja uwzględniająca konwencję
> > LP64 - bo z tego co słyszałem Win64 używa LLP64, więc ma 32-bitowego
> > longa.
> > 
> > Tutaj znalazłem jakieś uwagi dot. 64-bitowego ODBC - jest parę zmian,
> > ale SLONG i ULONG jest zawsze longiem.
> > 
> > http://www-numi.fnal.gov/offline_software/external_pkgs/Linux2.4-GCC_3_2/include/sqltypes.h
> > 
> > Zmieniając tak sobie sqltypes.h dostajemy binarną niekompatybilność
> > w ramach bibliotek ODBC z innymi dystrybucjami na 64-bitowego Linuksa
> > oraz ze wszystkimi naszymi binarkami budowanym na ODBC przed tą zmianą.
> 
> Czyli unixODBC bylo ok, moge cofnac, ale poprawiac Firebirda to ja sie
> nie podejme o ile nie jest to s/SLONG/FB_SLONG/ itp...

Tak to nie, myślałem o hackach w plikach używających jednocześnie
nagłówków ODBC i Firebirda - tego dużo nie będzie.

> A co do 64bit, to
> widziales jak Firebird alphe po macoszemu potraktowal.

Chyba jedyny oficjalny 64-bitowy port to AMD64, gdzie niewyrównany
dostęp do pamięci jest dopuszczalny...

> Czemu tak btw
> gcc na alphie nie definiuje _LP64?

Zdaje się że już definiuje, w wersji >= 3.4.0 (przynajmniej tak by
wynikało ze zmian w CVS-ie, bo przetestować nie miałem okazji).


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/




Więcej informacji o liście dyskusyjnej pld-devel-pl