Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2015-09

FPC app crash with "has text relocations" / android 6.0

7 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

크레딕스 최원식

Sorry for the Question.

FPC (svn 31577 )
maybe , I think It's same situation using older version.

AndroidManifest.xml
<uses-sdk&nbsp;android:minSdkVersion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"10"&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:targetSdkVersion&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"23"&nbsp;/>

Until&nbsp;targetSdkVersion&nbsp;<=&nbsp;22&nbsp;,&nbsp;Application&nbsp;can&nbsp;run&nbsp;with&nbsp;warning. But&nbsp;when&nbsp;targetSdkVersion&nbsp;=&nbsp;"23"&nbsp;(Android&nbsp;6.0)&nbsp;,&nbsp;App&nbsp;can't&nbsp;run&nbsp;,&nbsp; Crashed&nbsp;with&nbsp;following&nbsp;message

------------------------------------------------------------------------------------------------- Fatal&nbsp;Exception
java.lang.UnsatisfiedLinkError:&nbsp;dlopen&nbsp;failed:&nbsp;/data/app/app.test/lib/arm/libfpc.so:&nbsp;has&nbsp;text&nbsp;relocations -------------------------------------------------------------------------------------------------

Only&nbsp;I&nbsp;found&nbsp;the&nbsp;article&nbsp;
"At&nbsp;first&nbsp;sight,&nbsp;the&nbsp;RTL&nbsp;startup&nbsp;code&nbsp;contains&nbsp;non-PIC&nbsp;assembly&nbsp;(rtl/&nbsp;android/arm/prt0.as&nbsp;and&nbsp;rtl/android/arm/dllprt0.as)&nbsp;Jonas"&nbsp;
http://lists.freepascal.org/fpc-devel/2014-October/034526.html

Can&nbsp;I&nbsp;fix&nbsp;the&nbsp;problem&nbsp;(or&nbsp;fix&nbsp;with&nbsp;tricky&nbsp;method&nbsp;?)

Thanks

Simon,Choi

Reply by email

크레딕스 최원식
to 크레딕스 최원식

More&nbsp;Testing

-&nbsp;Test&nbsp;Env.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FPC&nbsp;3.1.1&nbsp;(svn&nbsp;31577)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;1.&nbsp;Java&nbsp;Loading&nbsp;&nbsp;Shared&nbsp;Lib&nbsp;&nbsp;(JNI) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;targetSdkVersion&nbsp;=&nbsp;22&nbsp;->&nbsp;OK,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;targetSdkVersion&nbsp;=&nbsp;23&nbsp;->&nbsp;Crash

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;2.&nbsp;Java&nbsp;Loading&nbsp;C&nbsp;Shared&nbsp;Obj&nbsp;(JNI) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;C&nbsp;Shared&nbsp;Lib&nbsp;loading&nbsp;Pascal&nbsp;Lib&nbsp;by&nbsp;dlOpen

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;targetSdkVersion&nbsp;=&nbsp;22&nbsp;->&nbsp;OK,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;targetSdkVersion&nbsp;=&nbsp;23&nbsp;->&nbsp;Crash&nbsp;(Until&nbsp;C&nbsp;Shared&nbsp;Lib&nbsp;OK,&nbsp;But,&nbsp;dlOpen&nbsp;to&nbsp;Pascal&nbsp;Obj&nbsp;->&nbsp;Crash)

-&nbsp;Other&nbsp;Usefull&nbsp;Link&nbsp;(?)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://slowbutdeadly.blogspot.kr/2015/09/javalangunsatisfiedlinkerror-dlopen.html

-&nbsp;In&nbsp;My&nbsp;Test&nbsp;Result
&nbsp;&nbsp;&nbsp;&nbsp;Android&nbsp;6.0&nbsp;can't&nbsp;loading&nbsp;so&nbsp;file&nbsp;when&nbsp;so&nbsp;file&nbsp;has&nbsp;text&nbsp;relocations&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;(&nbsp;Dynamic&nbsp;section&nbsp;at&nbsp;offset&nbsp;0x42f424&nbsp;contains&nbsp;32&nbsp;entries: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name/Value &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000016&nbsp;(TEXTREL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<--------&nbsp;&nbsp;If&nbsp;TEXTREL&nbsp;exists&nbsp;,&nbsp;app&nbsp;will&nbsp;crash&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;....&nbsp;)

I&nbsp;want&nbsp;to&nbsp;believe&nbsp;that&nbsp;my&nbsp;testing&nbsp;result&nbsp;is&nbsp;wrong,&nbsp;but&nbsp;If&nbsp;android&nbsp;app's&nbsp;policy&nbsp;will&nbsp;be&nbsp;changed, It's&nbsp;big&nbsp;problem.&nbsp;or&nbsp;just&nbsp;My&nbsp;mistake&nbsp;?

Can&nbsp;I&nbsp;fix&nbsp;the&nbsp;problem&nbsp;in&nbsp;manual&nbsp;(or&nbsp;fix&nbsp;with&nbsp;tricky&nbsp;method&nbsp;for&nbsp;temporary&nbsp;?)

Best&nbsp;Regards
Simon,Choi&nbsp;

Reply by email

Michael Van Canneyt
to 크레딕스 최원식

Hello,

Can you please send your mails as plain text ?
The below is totally unreadable in my text-based mail client :(

Michael.

크레딕스 최원식 wrote 34 lines
More&nbsp;Testing -&nbsp;Test&nbsp;Env. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FPC&nbsp;3.1.1&nbsp;(svn&nbsp;31577) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;1.&nbsp;Java&nbsp;Loading&nbsp;&nbsp;Shared&nbsp;Lib&nbsp;&nbsp;(JNI) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;targetSdkVersion&nbsp;=&nbsp;22&nbsp;->&nbsp;OK,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;targetSdkVersion&nbsp;=&nbsp;23&nbsp;->&nbsp;Crash &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;2.&nbsp;Java&nbsp;Loading&nbsp;C&nbsp;Shared&nbsp;Obj&nbsp;(JNI) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;C&nbsp;Shared&nbsp;Lib&nbsp;loading&nbsp;Pascal&nbsp;Lib&nbsp;by&nbsp;dlOpen &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;targetSdkVersion&nbsp;=&nbsp;22&nbsp;->&nbsp;OK,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;targetSdkVersion&nbsp;=&nbsp;23&nbsp;->&nbsp;Crash&nbsp;(Until&nbsp;C&nbsp;Shared&nbsp;Lib&nbsp;OK,&nbsp;But,&nbsp;dlOpen&nbsp;to&nbsp;Pascal&nbsp;Obj&nbsp;->&nbsp;Crash) -&nbsp;Other&nbsp;Usefull&nbsp;Link&nbsp;(?) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://slowbutdeadly.blogspot.kr/2015/09/javalangunsatisfiedlinkerror-dlopen.html -&nbsp;In&nbsp;My&nbsp;Test&nbsp;Result &nbsp;&nbsp;&nbsp;&nbsp;Android&nbsp;6.0&nbsp;can't&nbsp;loading&nbsp;so&nbsp;file&nbsp;when&nbsp;so&nbsp;file&nbsp;has&nbsp;text&nbsp;relocations&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;(&nbsp;Dynamic&nbsp;section&nbsp;at&nbsp;offset&nbsp;0x42f424&nbsp;contains&nbsp;32&nbsp;entries: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name/Value &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000016&nbsp;(TEXTREL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<--------&nbsp;&nbsp;If&nbsp;TEXTREL&nbsp;exists&nbsp;,&nbsp;app&nbsp;will&nbsp;crash&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;....&nbsp;) I&nbsp;want&nbsp;to&nbsp;believe&nbsp;that&nbsp;my&nbsp;testing&nbsp;result&nbsp;is&nbsp;wrong,&nbsp;but&nbsp;If&nbsp;android&nbsp;app's&nbsp;policy&nbsp;will&nbsp;be&nbsp;changed, It's&nbsp;big&nbsp;problem.&nbsp;or&nbsp;just&nbsp;My&nbsp;mistake&nbsp;? Can&nbsp;I&nbsp;fix&nbsp;the&nbsp;problem&nbsp;in&nbsp;manual&nbsp;(or&nbsp;fix&nbsp;with&nbsp;tricky&nbsp;method&nbsp;for&nbsp;temporary&nbsp;?) Best&nbsp;Regards Simon,Choi&nbsp;

Reply by email

크레딕스 최원식
Oh....&nbsp;Sorry....&nbsp;

More&nbsp;Testing

-&nbsp;Test&nbsp;Env.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FPC&nbsp;3.1.1&nbsp;(svn&nbsp;31577)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;1.&nbsp;Java&nbsp;Loading&nbsp;&nbsp;Shared&nbsp;Lib&nbsp;&nbsp;(JNI) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;targetSdkVersion&nbsp;=&nbsp;22&nbsp;->&nbsp;OK,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;targetSdkVersion&nbsp;=&nbsp;23&nbsp;->&nbsp;Crash

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;2.&nbsp;Java&nbsp;Loading&nbsp;C&nbsp;Shared&nbsp;Obj&nbsp;(JNI) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;C&nbsp;Shared&nbsp;Lib&nbsp;loading&nbsp;Pascal&nbsp;Lib&nbsp;by&nbsp;dlOpen

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1&nbsp;&nbsp;targetSdkVersion&nbsp;<=&nbsp;22&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All&nbsp;Works
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.&nbsp;targetSDKVersion&nbsp;=&nbsp;23
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Java&nbsp;Load&nbsp;C&nbsp;Library&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;C&nbsp;Library&nbsp;Loading&nbsp;Pascal&nbsp;Library&nbsp;(&nbsp;dlOpen&nbsp;/&nbsp;Fail&nbsp;)
-&nbsp;Other&nbsp;Helpful&nbsp;Link&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://slowbutdeadly.blogspot.kr/2015/09/javalangunsatisfiedlinkerror-dlopen.html
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;In&nbsp;My&nbsp;Result
&nbsp;&nbsp;&nbsp;&nbsp;Android&nbsp;6.0&nbsp;can't&nbsp;loading&nbsp;so&nbsp;file&nbsp;when&nbsp;so&nbsp;file&nbsp;has&nbsp;text&nbsp;relocations&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Dynamic&nbsp;section&nbsp;at&nbsp;offset&nbsp;0x42f424&nbsp;contains&nbsp;32&nbsp;entries:
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;Tag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name/Value
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;0x00000016&nbsp;(TEXTREL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;If&nbsp;TEXTREL&nbsp;exists&nbsp;then&nbsp;Crash

I&nbsp;want&nbsp;to&nbsp;believe&nbsp;that&nbsp;my&nbsp;testing&nbsp;result&nbsp;is&nbsp;wrong,&nbsp; but&nbsp;If&nbsp;android&nbsp;app's&nbsp;policy&nbsp;will&nbsp;be&nbsp;changed, It's&nbsp;big&nbsp;problem.&nbsp;or&nbsp;just&nbsp;My&nbsp;mistake&nbsp;?

Can&nbsp;I&nbsp;fix&nbsp;the&nbsp;problem&nbsp;in&nbsp;manual&nbsp;(or&nbsp;fix&nbsp;with&nbsp;tricky&nbsp;method&nbsp;for&nbsp;temporary&nbsp;?)

Best&nbsp;Regards
Simon,Choi&nbsp;

Reply by email

Maciej Izak
to 크레딕스 최원식

2015-09-09 18:35 GMT+02:00 크레딕스 최원식 :

Show quoted text 10 lines
Oh....&nbsp;Sorry....&nbsp; More&nbsp;Testing -&nbsp;Test&nbsp;Env. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FPC&nbsp;3.1.1&nbsp;(svn&nbsp;31577) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;1.&nbsp;Java&nbsp;Loading&nbsp;&nbsp;Shared&nbsp;Lib&nbsp;&nbsp;(JNI)

still unreadable ... :(

Best regards, Maciej Izak

Reply by email

Dmitry Boyarintsev
to Maciej Izak
Maciej Izak wrote
still unreadable ... :( &nbsp; needs to be replaced with the space, obviously

2015-09-09 18:35 GMT+02:00 크레딕스 최원식 :

Oh.... Sorry....

More Testing

- Test Env.
FPC 3.1.1 (svn 31577)

     Case 1. Java Loading  Shared Lib  (JNI)
             until targetSdkVersion = 22 -> OK,
             when targetSdkVersion = 23 -> Crash
     Case 2. Java Loading C Shared Obj (JNI)
             and  C Shared Lib loading Pascal Lib by dlOpen
             2.1  targetSdkVersion <= 22
                  All Works
             2.2. targetSDKVersion = 23
                  - Java Load C Library
                  - C Library Loading Pascal Library ( dlOpen / Fail )

- Other Helpful Link

http://slowbutdeadly.blogspot.kr/2015/09/javalangunsatisfiedlinkerror-dlopen.html

- In My Result
Android 6.0 can't loading so file when so file has text relocations

    // Dynamic section at offset 0x42f424 contains 32 entries:
    //   Tag        Type            Name/Value
    //  0x00000016 (TEXTREL)         0x0        // If TEXTREL exists then
Crash

Reply by email

Yury Sidorov
to Dmitry Boyarintsev

Hello,

It seems Android 6.0 forces usage of PIC-enabled shared libraries only. Currently the Android FPC target is not PIC compatible, since the startup assembler code is needed to be converted to PIC.

You need to use targetSdkVersion <= 22 until PIC is fixed for the Android target.

Yury Sidorov.

Dmitry Boyarintsev wrote 47 lines
On Wed, Sep 9, 2015 at 3:40 PM, Maciej Izak < > wrote: still unreadable ... :( &nbsp; needs to be replaced with the space, obviously 2015-09-09 18:35 GMT+02:00 크레딕스 최원식 < >: Oh.... Sorry.... More Testing - Test Env. FPC 3.1.1 (svn 31577) Case 1. Java Loading Shared Lib (JNI) until targetSdkVersion = 22 -> OK, when targetSdkVersion = 23 -> Crash Case 2. Java Loading C Shared Obj (JNI) and C Shared Lib loading Pascal Lib by dlOpen 2.1 targetSdkVersion <= 22 All Works 2.2. targetSDKVersion = 23 - Java Load C Library - C Library Loading Pascal Library ( dlOpen / Fail ) - Other Helpful Link http://slowbutdeadly.blogspot.kr/2015/09/javalangunsatisfiedlinkerror-dlopen.html - In My Result Android 6.0 can't loading so file when so file has text relocations // Dynamic section at offset 0x42f424 contains 32 entries: // Tag Type Name/Value // 0x00000016 (TEXTREL) 0x0 // If TEXTREL exists then Crash _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply by email