Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4110521

portability : javah doesn't generate the right prototypes for stub files

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P5 P5
    • None
    • 1.0, 1.1.5, 1.2.0
    • tools
    • sparc
    • solaris_2.5, solaris_2.5.1

      javah doesn't generate the right prototypes for stub files
      -----------------------------------------------------
      src/share/tools/javah/javah.c

      The prototypes of the user's native methods are not declared correctly
      in the stub files. A mismatch between the prototype and the actual function
      could cause problems on some platforms:

      Old:

      /* Stubs for class java_lang_Object */
      /* SYMBOL: "java_lang_Object/getClass()Ljava/lang/Class;",
      Java_java_lang_Object_getClass_stub */
       stack_item * _Optlink _Export Java_java_lang_Object_getClass_stub(stack_item
      *_P_,struct execenv *_EE_) {
              extern void* java_lang_Object_getClass(void *);
              _P_[0].p = java_lang_Object_getClass(_P_[0].p);
              return _P_ + 1;
      }

      New, with proper prototypes:

      /* Stubs for class java_lang_Object */
      /* SYMBOL: "java_lang_Object/getClass()Ljava/lang/Class;",
      Java_java_lang_Object_getClass_stub */
      struct Hjava_lang_Object;
      struct Hjava_lang_Class;
       stack_item * _Optlink Java_java_lang_Object_getClass_stub(stack_item
      *_P_,struct execenv *_EE_) {
              extern struct Hjava_lang_Class *java_lang_Object_getClass(struct
      Hjava_lang_Object *);
              _P_[0].p = java_lang_Object_getClass(_P_[0].p);
              return _P_ + 1;
      }

            ghirschsunw Gordon Hirsch (Inactive)
            miflemi Mick Fleming
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: