Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
halo
ndk
Commits
d5862be4
Commit
d5862be4
authored
11 years ago
by
Andrew Hsieh
Browse files
Options
Download
Email Patches
Plain Diff
Revise docs for r9c
Change-Id: I39da0d0476949b44be43e633f261711c0993c1c4
parent
1db3cc99
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
111 additions
and
7 deletions
+111
-7
docs/text/CHANGES.text
docs/text/CHANGES.text
+89
-1
tests/device/hard-float/jni/Android.mk
tests/device/hard-float/jni/Android.mk
+5
-2
tests/device/hard-float/jni/test-float.c
tests/device/hard-float/jni/test-float.c
+17
-4
No files found.
docs/text/CHANGES.text
View file @
d5862be4
Android
NDK
ChangeLog
:
----------------------------------------------------------------------------
android
-
ndk
-
r9c
===
IMPORTANT
CHANGES
:
---
-
This
is
a
bug
-
fix
-
only
release
.
IMPORTANT
BUG
FIXES
:
---
-
Fixed
GCC
4.8
ARM
where
stack
pointer
is
restored
too
early
than
access
to
varaible
in
stack
frame
via
frame
pointer
.
See
http
://
gcc
.
gnu
.
org
/
bugzilla
/
show_bug
.
cgi
?
id
=
58854
-
Fixed
GCC
4.8
libstdc
++
where
the
generated
code
random
segfault
on
std
::
nth_element
See
https
://
code
.
google
.
com
/
p
/
android
/
issues
/
detail
?
id
=
62910
-
Fixed
GCC
4.8
ICE
in
cc1
/
cc1plus
with
-
fuse
-
ld
=
mcld
.
Message
reads
:
>
cc1
:
internal
compiler
error
:
in
common_handle_option
,
at
opts
.
c
:
1774
-
Fixed
-
mhard
-
float
support
for
__builtin
math
functions
.
See
http
://
b
.
android
.
com
/
62496.
Please
track
comment
of
http
://
b
.
android
.
com
/
61784
for
on
-
going
fixes
for
-
mhard
-
float
with
STL
OTHER
BUG
FIXES
:
---
-
Fixed
headers
>
1.
Fixed
prototype
of
poll
to
poll
(
struct
pollfd
*,
nfds_t
,
int
);
in
poll
.
h
>
2.
Added
utimensat
and
futimens
to
libc
.
so
to
API
level
>=
12
and
>=
19
,
respectively
.
>
3.
Added
missing
clock_settime
()
and
clock_nanosleep
()
in
time
.
h
for
API
>=
8.
>
4.
Added
CLOCK_MONOTONIC_RAW
,
CLOCK_REALTIME_COARSE
,
CLOCK_MONOTONIC_COARSE
,
CLOCK_BOOTTIME
,
CLOCK_REALTIME_ALARM
,
and
CLOCK_BOOTTIME_ALARM
in
time
.
h
.
Removed
obsolete
CLOCK_REALTIME_HR
and
CLOCK_MONOTONIC_HR
.
-
Refactored
samples
Teapot
,
MoreTeapots
and
source
/
android
/
ndk_helper
.
Use
hard
float
-
abi
for
armeabi
-
v7a
,
added
immersive
mode
in
android
-
19
,
etc
.
Also
fix
crash
on
X86
device
in
/
system
/
lib
/
libdvm
.
so
Check_ReleaseStringUTFChars
-
Fixed
ndk
-
build
fails
in
cygwin
if
NDK
package
is
referenced
via
symlink
-
Fixed
ndk
-
build
.
cmd
fails
in
windows
cmd
.
exe
if
LOCAL_SRC_FILES
contain
absolute
path
.
See
https
://
android
-
review
.
googlesource
.
com
/#/
c
/
69992
-
Fixed
ndk
-
stack
to
proceed
even
when
it
can
't parse a frame due to
unable to locate routine, filename, or line number, in which case "??"
is printed.
- Fixed ndk-stack windows-x64_64 erroneously matches frame line with in "stack:"
section even when the line has no word "pc", "eip", or "ip" in it, eg.
> I/DEBUG ( 1151): #00 5f09db68 401f01c4 /system/lib/libc.so
- Fixed gabi++ to not use malloc() to allocate C++ thread-local
objects, and avoid dead-lock in gabi++ when libc.debug.malloc is non-zero in
userdebug/eng Android platform builds
OTHER CHANGES:
---
- Added LOCAL_EXPORT_LDFLAGS
- Introducing NDK_PROJECT_PATH=null for use in an integrated build system
where options are explicitly passed to ndk-build. With it ndk-build
make no attempt to look for NDK_PROJECT_PATH, and as a result the following
variables depending on NDK_PROJECT_PATH to be explicitly specified
(since they can on longer derive default value from NDK_PROJECT_PATH when it'
s
null
):
NDK_OUT
,
NDK_LIBS_OUT
,
APP_BUILD_SCRIPT
,
NDK_DEBUG
(
optional
,
default
to
0
),
and
other
APP_
*
used
to
be
in
Application
.
mk
-
Allow
APP_ABI
to
be
comma
-
delimited
list
,
eg
.
APP_ABI
:=
"armeabi,armeabi-v7a"
-
Rebuild
all
STL
with
debugging
info
(
ie
.
"-g"
)
in
separate
optional
package
android
-
ndk
-
r9c
-
cxx
-
stl
-
libs
-
with
-
debugging
-
info
.
zip
.
This
helps
ndk
-
stack
to
provide
better
stack
dump
across
STL
.
The
code
/
size
of
the
final
stripped
shouldn
't be affected.
- Enhanced hello-jni samples to report APP_ABI at compilation
- Static libraries are built with Deterministic (option D) mode of ar
tool. See http://b.android.com/60705
----------------------------------------------------------------------------
android-ndk-r9b
===
...
...
@@ -87,7 +175,7 @@ OTHER BUG FIXES:
-
Fixed
cpu
-
features
not
to
assume
all
VFPv4
devices
support
IDIV
.
Now
it
only
adds
IDIV
to
white
-
listed
devices
(
Nexus
4
at
this
moment
)
b.android.com/57637
http
://
b
.
android
.
com
/
57637
-
Fixed
android_native_app_glue
.
c
to
stop
errors
being
logged
erroneously
on
event
predispatch
...
...
This diff is collapsed.
Click to expand it.
tests/device/hard-float/jni/Android.mk
View file @
d5862be4
...
...
@@ -41,7 +41,10 @@ ifeq (,$(filter clang%,$(NDK_TOOLCHAIN_VERSION)))
# declaration like "extern double sin(double)" w/o proper __attribute__ in
# your code instead of including math.h, etc. See the end of sys/cdefs.h
# the conditions upon which __NDK_FPABI__ and __NDK_FPABI_MATH__ are defined
# 3. If you use undocumented APIs which takes/returns float/double, be careful
#
# 3. All JNI functions should have JNICALL which is defined to __NDK_FPABI__ in jni.h.
#
# 4. If you use undocumented APIs which takes/returns float/double, be careful
# to add __attribute__((pcs("aapcs"))) for arm
#
# Note that "--no-warn-mismatch" is needed for linker (except mclinker which check correctly)
...
...
@@ -85,7 +88,7 @@ endif # check clang
include
$(CLEAR_VARS)
LOCAL_MODULE
:=
hard-float-hard-abi
LOCAL_CFLAGS
+=
-mhard-float
-D_NDK_MATH_NO_SOFTFP
=
1
LOCAL_LD
FLAG
S
+=
-lm_hard
LOCAL_LD
LIB
S
+=
-lm_hard
ifeq
(,$(filter -fuse-ld=mcld,$(APP_LDFLAGS) $(LOCAL_LDFLAGS)))
LOCAL_LDFLAGS
+=
-Wl
,--no-warn-mismatch
endif
...
...
This diff is collapsed.
Click to expand it.
tests/device/hard-float/jni/test-float.c
View file @
d5862be4
...
...
@@ -24,11 +24,24 @@ double foo(double a, double b)
double
d1
=
M_PI
;
double
d2
=
2
.
0
;
double
d3
=
-
0
.
007
;
double
d4
=
0
.
5
;
int
main
()
{
double
d
=
foo
(
d1
,
d2
);
const
double
expected
=
4
.
483853
;
printf
(
"%lf
\n
"
,
d
);
return
(
fabs
(
d
-
expected
)
<
0
.
00001
)
?
0
:
1
;
int
fail_count
=
0
;
{
double
d0
=
foo
(
d1
,
d2
);
const
double
expected0
=
4
.
483853
;
printf
(
"%lf
\n
"
,
d0
);
fail_count
+=
!
(
fabs
(
d0
-
expected0
)
<
0
.
00001
);
}
{
double
d1
=
__builtin_atan2
(
d3
,
d4
);
const
double
expected1
=
-
0
.
013
999
;
printf
(
"%lf
\n
"
,
d1
);
fail_count
+=
!
(
fabs
(
d1
-
expected1
)
<
0
.
00001
);
}
return
fail_count
;
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment