Ted,

 the code for those methods is (in b16) in
src/share/native/sun/font/scalerMethods.c so you can see for yourself
there's nothing special about them except that the rest are JNI methods
and they aren't : they are called directly from fontmanager.dll so
if they weren't exported properly we'd know about it ..

Anyway this will all be moot in a few days when b17 is out.

-phil.

Ted Neward wrote:
I think the problem may be more subtle than this; I did a little
investigation, and missing functions are present in T2K.DLL, but not with
the leading underscores. I took a look at the exports from T2K.DLL, and
they're as follows:

C:\Prg\OpenJDK\BinaryPlugs>dumpbin /exports jdk1.7.0\jre\bin\t2k.dll
Microsoft (R) COFF/PE Dumper Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file jdk1.7.0\jre\bin\t2k.dll

File Type: DLL

  Section contains the following exports for t2k.dll

    00000000 characteristics
    468CC934 time date stamp Thu Jul 05 03:34:28 2007
        0.00 version
           1 ordinal base
          22 number of functions
          22 number of names

    ordinal hint RVA      name

          1    0 0002306C
[EMAIL PROTECTED]
          2    1 0002302E
[EMAIL PROTECTED]
          3    2 00023F9F [EMAIL PROTECTED]
          4    3 00024762 [EMAIL PROTECTED]
          5    4 00024027 [EMAIL PROTECTED]
          6    5 0002428C [EMAIL PROTECTED]
          7    6 00024108 [EMAIL PROTECTED]
          8    7 00025275 [EMAIL PROTECTED]
          9    8 000252CC [EMAIL PROTECTED]
         10    9 00025321 [EMAIL PROTECTED]
         11    A 00022EE1 [EMAIL PROTECTED]
         12    B 00023D91 [EMAIL PROTECTED]
         13    C 000233A7 [EMAIL PROTECTED]
         14    D 0002463E [EMAIL PROTECTED]
         15    E 00022EEB [EMAIL PROTECTED]
         16    F 00023F13 [EMAIL PROTECTED]
         17   10 00023EF8 [EMAIL PROTECTED]
         18   11 00023EDB [EMAIL PROTECTED]
         19   12 00023E20 getLayoutTables
         20   13 00023DBD getUnitsPerEmForLayout
         21   14 00023055 isNullScalerContext
         22   15 00022C03 setSunFontIDs

  Summary

        1000 .data
        7000 .rdata
        2000 .reloc
        1000 .rsrc
       25000 .text

As you can see, those missing four functions *are* there, in T2K.dll, but
don't have the leading underscore, which somehow the compiler thinks is
there. My guess is that there's a calling convention mixup here somehow, or
else the T2K.lib is somehow written to insert the leading underscores there.
(Which then implies it's not just a straightforward import library, I
think.) Is it possible that there's a macro somewhere in the native code
that's inserting an underscore when it shouldn't?

Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Monday, July 30, 2007 7:02 AM
To: Ted Neward
Cc: build-dev@openjdk.java.net
Subject: Re: New bug in build process

Is this t2k.lib file the one you created from t2k.dll?

I've never seen these errors before, but it looks like it's in the
fastdebug build, which would mean you got past the product build,
which is significant.

This is just a wild guess, but I wonder if the debug t2k.dll file has more
external symbols than the product one? I'm not that familiar with
the external list for this library.

---

Keep in mind that although we regularly build the fastdebug bits (-g -O),
and
some developers build the debug bits (-g), neither are tested very
extensively.
With the exception of the Hotspot VM, which gets tested fairly well with
VM type tests.
It's the product built bits that get most of the formal JDK testing done
to them.

Product .obj/.o files should end up in a obj directory (under
build/*/tmp),
fastdebug ones in obj_gO, and debug ones in obj_g. I'm curious why you are
seeing
some obj_gO references and some obj_g references. Maybe there is another
bug in
the BinaryPlugs.gmk file... :^(

-kto

Ted Neward wrote:
After doing a “nuke” of the build dir, and doing a fresh “make
debug_build DEV=1” (again, on Windows), I get this:



   Creating library
c:/Prg/OpenJDK/openjdk/control/build/WINDOW~2/tmp/sun/sun.fo

nt/fontmanager/obj_gO/fontmanager.lib and object
c:/Prg/OpenJDK/openjdk/control/

build/WINDOW~2/tmp/sun/sun.font/fontmanager/obj_gO/fontmanager.exp

sunFont.obj : error LNK2019: unresolved external symbol _setSunFontIDs
reference

d in function [EMAIL PROTECTED]

sunFont.obj : error LNK2019: unresolved external symbol
_isNullScalerContext ref

erenced in function [EMAIL PROTECTED]

SunLayoutEngine.obj : error LNK2019: unresolved external symbol
_getUnitsPerEmFo

rLayout referenced in function "public: virtual long __thiscall
FontInstanceAdap

ter::getUnitsPerEM(void)const "
([EMAIL PROTECTED]@@UBEJXZ)
FontInstanceAdapter.obj : error LNK2001: unresolved external symbol
_getUnitsPer

EmForLayout

FontInstanceAdapter.obj : error LNK2019: unresolved external symbol
_getLayoutTa

bles referenced in function "public: __thiscall
FontInstanceAdapter::FontInstanc

eAdapter(struct JNIEnv_ *,class _jobject *,class _jobject *,float
*,long,long)"

(??0FontInstanceAdapter@@[EMAIL PROTECTED]@@PAV_jobject@@[EMAIL PROTECTED])


c:/Prg/OpenJDK/openjdk/control/build/WINDOW~2/tmp/sun/sun.font/fontmanager
/obj_g
O/fontmanager.dll : fatal error LNK1120: 4 unresolved externals

make[5]: ***
[c:/Prg/OpenJDK/openjdk/control/build/WINDOW~2/bin/fontmanager.dll]

 Error 96

make[5]: Leaving directory
`/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make/sun/font'

make[4]: *** [all] Error 1

make[4]: Leaving directory
`/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make/sun'
make[3]: *** [all] Error 1

make[3]: Leaving directory `/cygdrive/c/Prg/OpenJDK/openjdk/j2se/make'

make[2]: *** [j2se-build] Error 2

make[2]: Leaving directory
`/cygdrive/c/Prg/OpenJDK/openjdk/control/make'
make[1]: *** [generic_debug_build] Error 2

make[1]: Leaving directory
`/cygdrive/c/Prg/OpenJDK/openjdk/control/make'
make: *** [fastdebug_build] Error 2

CYGWIN:[EMAIL PROTECTED]:/cygdrive/c/Prg/OpenJDK/openjdk/control/make

$



Apparently there’s some missing object files in the link step of
fontmanager.lib; any ideas? Intuition tells me this is t2k.lib-related
again, since we’re back in the silly font directory again, and yes, I
know, t2k is going away soon, but I’d like to see if it can be worked
around in the meantime. Legal issues have this annoying tendency to take
MUCH longer than engineers think they should… :-)



The build output prior to this link line is pretty verbose, but I can
send it if it’ll help debug the problem….



Ted Neward

Java, .NET, XML Services

Consulting, Teaching, Speaking, Writing

http://www.tedneward.com






No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.23/924 - Release Date:
7/28/2007 3:50 PM

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.23/924 - Release Date: 7/28/2007
3:50 PM


No virus found in this outgoing message.
Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.11.0/929 - Release Date: 7/31/2007
5:26 PM

Reply via email to