Merge

Thu, 17 Oct 2019 13:48:07 +0100

author
andrew
date
Thu, 17 Oct 2019 13:48:07 +0100
changeset 9771
2695509c59f8
parent 9770
7d5c800dae75
parent 9764
b44df6c5942c
child 9772
eee5798e1b28

Merge

.hgtags file | annotate | diff | comparison | revisions
     1.1 --- a/.hgtags	Tue Sep 10 19:58:22 2019 +0200
     1.2 +++ b/.hgtags	Thu Oct 17 13:48:07 2019 +0100
     1.3 @@ -1280,3 +1280,8 @@
     1.4  921c5ee7965fdfde75f578ddda24d5cd16f124dc jdk8u232-b04
     1.5  b13d7942036329f64c77a93cffc25e1b52523a3c jdk8u232-b05
     1.6  760b28d871785cd508239a5f635cfb45451f9202 jdk8u242-b00
     1.7 +fea2c7f50ce8e6aee1e946eaec7b834193747d82 jdk8u232-b06
     1.8 +c751303497d539aa85c6373aa0fa85580d3f3044 jdk8u232-b07
     1.9 +4170228e11e6313e948e6ddcae9af3eed06b1fbe jdk8u232-b08
    1.10 +12177d88b89c12c14daa5ad681030d7551e8a5a0 jdk8u232-b09
    1.11 +12177d88b89c12c14daa5ad681030d7551e8a5a0 jdk8u232-ga
     2.1 --- a/THIRD_PARTY_README	Tue Sep 10 19:58:22 2019 +0200
     2.2 +++ b/THIRD_PARTY_README	Thu Oct 17 13:48:07 2019 +0100
     2.3 @@ -2130,13 +2130,13 @@
     2.4  
     2.5  -------------------------------------------------------------------------------
     2.6  
     2.7 -%% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1,
     2.8 +%% This notice is provided with respect to PC/SC Lite v1.8.24,
     2.9  which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
    2.10  
    2.11  --- begin of LICENSE ---
    2.12  
    2.13 -Copyright (c) 1999-2004 David Corcoran <corcoran@linuxnet.com>
    2.14 -Copyright (c) 1999-2004 Ludovic Rousseau <ludovic.rousseau (at) free.fr>
    2.15 +Copyright (c) 1999-2003 David Corcoran <corcoran@linuxnet.com>
    2.16 +Copyright (c) 2001-2011 Ludovic Rousseau <ludovic.rousseau@free.fr>
    2.17  All rights reserved.
    2.18  
    2.19  Redistribution and use in source and binary forms, with or without
    2.20 @@ -2148,15 +2148,10 @@
    2.21  2. Redistributions in binary form must reproduce the above copyright
    2.22     notice, this list of conditions and the following disclaimer in the
    2.23     documentation and/or other materials provided with the distribution.
    2.24 -3. All advertising materials mentioning features or use of this software
    2.25 -   must display the following acknowledgement:
    2.26 -     This product includes software developed by: 
    2.27 -      David Corcoran <corcoran@linuxnet.com>
    2.28 -      http://www.linuxnet.com (MUSCLE)
    2.29 -4. The name of the author may not be used to endorse or promote products
    2.30 +3. The name of the author may not be used to endorse or promote products
    2.31     derived from this software without specific prior written permission.
    2.32  
    2.33 -Changes to this license can be made only by the copyright author with 
    2.34 +Changes to this license can be made only by the copyright author with
    2.35  explicit written consent.
    2.36  
    2.37  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     3.1 --- a/agent/src/os/linux/ps_proc.c	Tue Sep 10 19:58:22 2019 +0200
     3.2 +++ b/agent/src/os/linux/ps_proc.c	Thu Oct 17 13:48:07 2019 +0100
     3.3 @@ -345,7 +345,7 @@
     3.4  
     3.5  static bool read_lib_info(struct ps_prochandle* ph) {
     3.6    char fname[32];
     3.7 -  char buf[256];
     3.8 +  char buf[PATH_MAX];
     3.9    FILE *fp = NULL;
    3.10  
    3.11    sprintf(fname, "/proc/%d/maps", ph->pid);
    3.12 @@ -355,10 +355,41 @@
    3.13      return false;
    3.14    }
    3.15  
    3.16 -  while(fgets_no_cr(buf, 256, fp)){
    3.17 -    char * word[6];
    3.18 -    int nwords = split_n_str(buf, 6, word, ' ', '\0');
    3.19 -    if (nwords > 5 && find_lib(ph, word[5]) == false) {
    3.20 +  while(fgets_no_cr(buf, PATH_MAX, fp)){
    3.21 +    char * word[7];
    3.22 +    int nwords = split_n_str(buf, 7, word, ' ', '\0');
    3.23 +
    3.24 +    if (nwords < 6) {
    3.25 +      // not a shared library entry. ignore.
    3.26 +      continue;
    3.27 +    }
    3.28 +
    3.29 +    // SA does not handle the lines with patterns:
    3.30 +    //   "[stack]", "[heap]", "[vdso]", "[vsyscall]", etc.
    3.31 +    if (word[5][0] == '[') {
    3.32 +        // not a shared library entry. ignore.
    3.33 +        continue;
    3.34 +    }
    3.35 +
    3.36 +    if (nwords > 6) {
    3.37 +      // prelink altered mapfile when the program is running.
    3.38 +      // Entries like one below have to be skipped
    3.39 +      //  /lib64/libc-2.15.so (deleted)
    3.40 +      // SO name in entries like one below have to be stripped.
    3.41 +      //  /lib64/libpthread-2.15.so.#prelink#.EECVts
    3.42 +      char *s = strstr(word[5],".#prelink#");
    3.43 +      if (s == NULL) {
    3.44 +        // No prelink keyword. skip deleted library
    3.45 +        print_debug("skip shared object %s deleted by prelink\n", word[5]);
    3.46 +        continue;
    3.47 +      }
    3.48 +
    3.49 +      // Fall through
    3.50 +      print_debug("rectifying shared object name %s changed by prelink\n", word[5]);
    3.51 +      *s = 0;
    3.52 +    }
    3.53 +
    3.54 +    if (find_lib(ph, word[5]) == false) {
    3.55         intptr_t base;
    3.56         lib_info* lib;
    3.57  #ifdef _LP64
     4.1 --- a/test/runtime/RedefineTests/RedefineDoubleDelete.java	Tue Sep 10 19:58:22 2019 +0200
     4.2 +++ b/test/runtime/RedefineTests/RedefineDoubleDelete.java	Thu Oct 17 13:48:07 2019 +0100
     4.3 @@ -24,7 +24,11 @@
     4.4  /*
     4.5   * @test
     4.6   * @bug 8178870
     4.7 + * @library /testlibrary
     4.8   * @summary Redefine class with CFLH twice to test deleting the cached_class_file
     4.9 + * @build RedefineClassHelper
    4.10 + * @run main RedefineClassHelper
    4.11 + * @run main/othervm -javaagent:redefineagent.jar RedefineDoubleDelete
    4.12   */
    4.13  
    4.14  public class RedefineDoubleDelete {

mercurial