Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch wrong tls alignment for Android Q compatibility (fixes #370) #374

Merged
merged 5 commits into from
Mar 17, 2019

Conversation

Catfriend1
Copy link
Owner

@Catfriend1 Catfriend1 commented Mar 16, 2019

Purpose:

Testing:
Needs confirmation from device owners having the following arch:

  • armeabi (arm32)
  • arm64-v8a (arm64)
  • Doesn't work (as before of the PR) on Android x86 emulator running Android Q (10)

Here's the test APK (see release page). Please leave feedback with your device manufacturer, model, architecture and Android version. Would appreciate also users below Android 10 reporting back before merging this.

Thanks!

@Catfriend1 Catfriend1 self-assigned this Mar 16, 2019
@Catfriend1
Copy link
Owner Author

Catfriend1 commented Mar 17, 2019

@kvaster: Thanks for your contribution. It doesn't work on x86. Your code is far better than mine because you dynamically determine which byte to change. I've already found out yesterday by try & readelf that your above mentioned positions of the byte aren't static across builds (had 0x150 instead of 0x14c for example). I've incorporated your script into the native build script. Builds fine, but now I need feedback from armeabi and arm64-v8a device testers before releasing it.

Here's the new build log.

Invoking git fetch ...
Invoking git describe ...
Building for arm
Building syncthing version v1.1.0
artifact_patch_underaligned_tls: Patching underaligned TLS segment from 4 to 32
Finished build for arm
Building for arm64
Building syncthing version v1.1.0
artifact_patch_underaligned_tls: Patching underaligned TLS segment from 8 to 64
Finished build for arm64
Building for x86
Building syncthing version v1.1.0
Finished build for x86
All builds finished


BUILD SUCCESSFUL in 20s
1 actionable task: 1 executed

@Catfriend1 Catfriend1 added testing Community test case - Notice: Consists of maybe unstable syncthing version or code upstream labels Mar 17, 2019
@Catfriend1
Copy link
Owner Author

@kvaster: The script doesn't work with Python 2.7 ... I'm trying to make adjustments for better compatibility as I think F-Droid might have 2.7 on their build env.

@Catfriend1 Catfriend1 merged commit 3a188d4 into master Mar 17, 2019
@Catfriend1 Catfriend1 deleted the 20190316-fixTLSissue branch March 17, 2019 12:58
@Catfriend1
Copy link
Owner Author

@Catfriend1 Catfriend1 added this to the 1.1.1 milestone Mar 17, 2019
@Mygod
Copy link

Mygod commented Mar 18, 2019

Any chance this change will be merged to golang?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build testing Community test case - Notice: Consists of maybe unstable syncthing version or code upstream
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Android Q Beta - Wrong Bionic TLS alignment (golang)
2 participants