jdk
1/*
2* Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
3* Copyright (c) 2023, IBM Corp.
4* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5*
6* This code is free software; you can redistribute it and/or modify it
7* under the terms of the GNU General Public License version 2 only, as
8* published by the Free Software Foundation. Oracle designates this
9* particular file as subject to the "Classpath" exception as provided
10* by Oracle in the LICENSE file that accompanied this code.
11*
12* This code is distributed in the hope that it will be useful, but WITHOUT
13* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15* version 2 for more details (a copy is included in the LICENSE file that
16* accompanied this code).
17*
18* You should have received a copy of the GNU General Public License version
19* 2 along with this work; if not, write to the Free Software Foundation,
20* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21*
22* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23* or visit www.oracle.com if you need additional information or have any
24* questions.
25*/
26
27// Note: the include below is not strictly required, as dependencies will be pulled using linker flags.
28// Adding at least one #include removes unwanted warnings on some platforms.
29#include <string.h>30#include <math.h>31
32// Addresses of functions to be referenced using static linking.
33void* funcs[] = {34//string.h35&strlen,36&strcat,37//math.h38&abs,39&fabs,40&fabsf,41&fabsl,42&fmod,43&fmodf,44&fmodl,45&remainder,46&remainderf,47&remainderl,48&remquo,49&remquof,50&remquol,51&fma,52&fmaf,53&fmal,54&fmax,55&fmaxf,56&fmaxl,57&fmin,58&fminf,59&fminl,60&fdim,61&fdimf,62&fdiml,63&nan,64&nanf,65&nanl,66&exp,67&expf,68&expl,69&exp2,70&exp2f,71&exp2l,72&expm1,73&expm1f,74&expm1l,75&log,76&logf,77&logl,78&log10,79&log10f,80&log10l,81&log2,82&log2f,83&log2l,84&log1p,85&log1pf,86&log1pl,87&pow,88&powf,89&powl,90&sqrt,91&sqrtf,92&sqrtl,93&cbrt,94&cbrtf,95&cbrtl,96&hypot,97&hypotf,98&hypotl,99&sin,100&sinf,101&sinl,102&cos,103&cosf,104&cosl,105&tan,106&tanf,107&tanl,108&asin,109&asinf,110&asinl,111&acos,112&acosf,113&acosl,114&atan,115&atanf,116&atanl,117&atan2,118&atan2f,119&atan2l,120&sinh,121&sinhf,122&sinhl,123&cosh,124&coshf,125&coshl,126&tanh,127&tanhf,128&tanhl,129&asinh,130&asinhf,131&asinhl,132&acosh,133&acoshf,134&acoshl,135&atanh,136&atanhf,137&atanhl,138&erf,139&erff,140&erfl,141&erfc,142&erfcf,143&erfcl,144&tgamma,145&tgammaf,146&tgammal,147&lgamma,148&lgammaf,149&lgammal,150&ceil,151&ceilf,152&ceill,153&floor,154&floorf,155&floorl,156&trunc,157&truncf,158&truncl,159&round,160&roundf,161&roundl,162&lround,163&lroundf,164&lroundl,165&llround,166&llroundf,167&llroundl,168&nearbyint,169&nearbyintf,170&nearbyintl,171&rintf,172&rintl,173&lrint,174&lrintf,175&lrintl,176&llrint,177&llrintf,178&llrintl,179&frexpf,180&ldexpf,181&modff,182&scalbn,183&scalbnf,184&scalbnl,185&scalbln,186&scalblnf,187&scalblnl,188&ilogb,189&ilogbf,190&ilogbl,191&logb,192&logbf,193&logbl,194&nextafter,195&nextafterf,196&nextafterl,197&nexttoward,198&nexttowardf,199&nexttowardl,200©sign,201©signf,202©signl,203&isnan204};205