[foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2]
    Maurizio Cimadamore 
    mcimadamore at openjdk.java.net
       
    Mon May 10 15:54:30 UTC 2021
    
    
  
> This patch implements the library loading abstraction described in:
> 
> https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html
> 
> That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols.
> 
> To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support.
Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:
  Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java
  
  Co-authored-by: Jorn Vernee <JornVernee at users.noreply.github.com>
-------------
Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/531/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/531/files/59e794be..0a051573
Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=00-01
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/531.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/531/head:pull/531
PR: https://git.openjdk.java.net/panama-foreign/pull/531
    
    
More information about the panama-dev
mailing list