Page MenuHomePhabricator

adalava (Alfredo Dal'Ava Júnior)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 13 2018, 6:34 AM (180 w, 2 d)

Recent Activity

Apr 6 2022

adalava added inline comments to D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 6 2022, 1:43 PM · Restricted Project, Restricted Project, Restricted Project
adalava accepted D116867: [PowerPC] Fix sanitizers build on FreeBSD.

Removing kcc from reviewers since he seems inactive for the part half a year.
@adalava
As this is now accepted, can you commit it and if possible (since this is a build fix) merge for 14.0.1?

Apr 6 2022, 11:32 AM · Restricted Project, Restricted Project

Apr 5 2022

adalava accepted D116867: [PowerPC] Fix sanitizers build on FreeBSD.
Apr 5 2022, 8:55 PM · Restricted Project, Restricted Project
adalava accepted D116867: [PowerPC] Fix sanitizers build on FreeBSD.

It's not actually a problem but tb_freq should be initialized as integer. Otherwise looks good to me!

Apr 5 2022, 2:54 PM · Restricted Project, Restricted Project

Mar 18 2022

adalava added inline comments to D116867: [PowerPC] Fix sanitizers build on FreeBSD.
Mar 18 2022, 5:09 AM · Restricted Project, Restricted Project

Feb 25 2022

adalava accepted D120535: [ELF] Support some absolute/PC-relative relocation types for REL format.

LGTM, Tested on FreeBSD/powerpc 32 bit

Feb 25 2022, 6:31 AM · Restricted Project

Feb 8 2022

adalava added a comment to D119246: [libcxx][AIX][PowerPC] Disable workaround for PR31864 on powerpc.

long long (8-bytes) can be lock free on PPC64, but it's not lock free on PPC32.

Feb 8 2022, 12:00 PM · Restricted Project, Restricted Project

Dec 13 2021

adalava added a comment to D113443: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on PPC64.

readelf -r without -W may not show the full relocation type name.
The relocation type is R_X86_64_REX_GOTPCRELX, not R_X86_64_REX_GOTP.

As I mentioned, -fno-pic may need GOT-generating relocations as well to avoid copy relocations. Not handling R_X86_64_REX_GOTPCRELX is FreeBSD's limitation which should be fixed https://maskray.me/blog/2021-08-29-all-about-global-offset-table

I haven't read all the PowerPC discussions but it seems that there may be a dso_local PowerPC64 ELFv2 issue as well which should be properly fixed.

With all these said, I am fine that this is pushed to fix the immediate problem for FreeBSD. But if FreeBSD 14.0.0 plans to fix R_X86_64_REX_GOTPCRELX, this patch is probably not very necessary.

The issue could also be avoided by defaulting to -mstack-protector-guard=tls for FreeBSD, like Linux.

Dec 13 2021, 3:17 PM · Restricted Project

Nov 22 2021

adalava added a comment to D113451: [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD.

LGTM. Thanks for enabling this for FreeBSD.

Nov 22 2021, 10:45 AM · Restricted Project

Nov 9 2021

adalava updated the diff for D113451: [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD.

fix style

Nov 9 2021, 2:47 PM · Restricted Project
adalava updated the diff for D113451: [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD.

add more ppc_wrappers

Nov 9 2021, 9:30 AM · Restricted Project
adalava added a comment to D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

Hmm this seems to cause some trouble when building kernels and kernel modules on FreeBSD, which are built in -ffreestanding mode, and then you get weird relocations in kernel modules:

Nov 9 2021, 3:16 AM · Restricted Project

Nov 8 2021

adalava requested review of D113451: [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD.
Nov 8 2021, 6:46 PM · Restricted Project
adalava requested review of D113443: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on PPC64.
Nov 8 2021, 4:48 PM · Restricted Project

Nov 4 2021

adalava updated the summary of D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.
Nov 4 2021, 10:49 AM · Restricted Project

Oct 15 2021

adalava retitled D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD from [PPC64] fix/workaround runtime crash on FreeBSD with llvm12 and later to [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.
Oct 15 2021, 8:25 AM · Restricted Project
adalava updated the diff for D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.
  • Simplified register number check as suggested by @MaskRay
  • Added test for powerpcle (32 bits LE)
Oct 15 2021, 8:09 AM · Restricted Project

Oct 14 2021

adalava added a comment to D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

@sfertile is this last version still good for you? (after removing isPPC64 from if clause)

Oct 14 2021, 10:41 AM · Restricted Project
adalava added reviewers for D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD: sfertile, nemanjai, emaste, dim.
Oct 14 2021, 10:40 AM · Restricted Project
adalava updated the diff for D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

add tests for FreeBSD

Oct 14 2021, 10:34 AM · Restricted Project
adalava added a comment to D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.
Oct 14 2021, 9:43 AM · Restricted Project

Oct 13 2021

adalava added a comment to D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

It's now avoiding a copy relocation for '__stack_chk_guard':

Oct 13 2021, 7:59 PM · Restricted Project
adalava updated the diff for D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

Update patch to avoid setting dso_local for any FreeBSD target since symbol is defined on libc.so.7.

Oct 13 2021, 7:56 PM · Restricted Project

Sep 20 2021

adalava added a comment to D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

I am afraid the root cause is still unknown and this patch just papers over the issue.
I hope we have a good understanding why having dso_local will cause trouble on FreeBSD powerpc64's -fstack-protector* and fix the root cause instead.

Sep 20 2021, 12:56 PM · Restricted Project

Sep 9 2021

adalava added a comment to D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

This does not seem like the right approach to me. Have you looked into why the pointer is not correct. Does it affect static binaries or dynamic ones? Maybe this can be fixed in rtld instead? As it works for all other architectures (and PPC Linux), I feel like that is the more likely cause

Sep 9 2021, 2:16 PM · Restricted Project

Sep 1 2021

adalava updated the diff for D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.

rebased from stable/13.x to main branch

Sep 1 2021, 2:22 PM · Restricted Project
adalava retitled D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD from Amends LLVM commit 2518433f861fcb877d0a7bdd9aec1aec1f77505a that was pointed as the source of regression on LLVM12. to [PPC64] fix/workaround runtime crash on FreeBSD with llvm12 and later.
Sep 1 2021, 2:14 PM · Restricted Project
adalava requested review of D109090: [FreeBSD] avoid marking __stack_chk_guard symbol as dso_local on FreeBSD.
Sep 1 2021, 1:58 PM · Restricted Project

Jul 3 2020

adalava added a comment to D82786: [llvm-ar] Unsupport test on FreeBSD.

This was already commited, but for the record , I tested it on FreeBSD 13/powerpc64

Jul 3 2020, 2:02 PM · Restricted Project

May 18 2020

adalava added a comment to D79854: [PowerPC] Prevent legalization loop from promoting SELECT_CC from v4i32 to v4i32.

I confirmed it fixes the case Piotr Kubaj reported. Thank you!

May 18 2020, 12:26 PM · Restricted Project

Feb 10 2020

adalava added a comment to D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.

On master, atomic.c is not built by default. It's only built if you explicitly request it with something like the CMake flag -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=Off . If you're not doing that, any change to atomic.c has no effect.

Feb 10 2020, 6:44 PM · Restricted Project, Restricted Project, Restricted Project
adalava added a comment to D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.

For the clang change, we should do something like D72579, not explicitly check for a specific target in target-independent code.

Feb 10 2020, 8:47 AM · Restricted Project, Restricted Project, Restricted Project
adalava updated the diff for D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.

fix typo found by @dim

Feb 10 2020, 5:30 AM · Restricted Project, Restricted Project, Restricted Project

Jan 23 2020

adalava updated the diff for D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.

Updated comment

Jan 23 2020, 4:05 AM · Restricted Project, Restricted Project, Restricted Project

Jan 13 2020

adalava added a comment to D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.

I am still confused why you need the special rule for __atomic_is_lock_free (GCC/clang) and __c11_atomic_is_lock_free (clang).

https://github.com/gcc-mirror/gcc/blob/master/gcc/builtins.c#L7300-L7314 GCC __atomic_is_lock_free expands to either 1 or a library call to __atomic_is_lock_free, never 0. How did FreeBSD get around libatomic when it was still using GCC? In clang, We can probably extend the semantics of __c11_atomic_is_lock_free and use clang::TargetInfo::getMaxAtomicPromoteWidth, but I'll make more research in this area.

Can you be elaborate how do __atomic_is_lock_free/__c11_atomic_is_lock_free pull in libatomic.{a,so} dependency on FreeBSD powerpc?

Jan 13 2020, 5:39 AM · Restricted Project, Restricted Project, Restricted Project

Jan 9 2020

adalava updated the summary of D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.
Jan 9 2020, 1:22 PM · Restricted Project, Restricted Project, Restricted Project
adalava added a reviewer for D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time: MaskRay.
Jan 9 2020, 1:22 PM · Restricted Project, Restricted Project, Restricted Project
adalava added a reviewer for D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time: Restricted Project.
Jan 9 2020, 11:48 AM · Restricted Project, Restricted Project, Restricted Project

Jan 7 2020

adalava abandoned D72306: [PowerPC] FreeBSD >= 13 default ABI is ELFv2.

Obsoleted by D72352 ?

Jan 7 2020, 1:08 PM · Restricted Project, Restricted Project, Unknown Object (Project)
adalava accepted D72352: [PowerPC][Triple] Use elfv2 on freebsd>=13 and linux-musl.

LGTM. Just a comment regarding FreeBSD 11.x.

Jan 7 2020, 11:31 AM · Restricted Project, Restricted Project
adalava added a comment to D72306: [PowerPC] FreeBSD >= 13 default ABI is ELFv2.

Are you still using -target powerpc64-unknown-freebsd12.0-elfv2 or -target powerpc64-unknown-freebsd12.0-elfv1 added in https://reviews.llvm.org/rL361355 ?

Jan 7 2020, 5:22 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Jan 6 2020

adalava created D72306: [PowerPC] FreeBSD >= 13 default ABI is ELFv2.
Jan 6 2020, 3:12 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Dec 17 2019

adalava created D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time.
Dec 17 2019, 4:54 AM · Restricted Project, Restricted Project, Restricted Project
adalava added a reviewer for D71600: PowerPC 32-bit - forces 8 byte lock/lock_free decisions at compiled time: dim.
Dec 17 2019, 4:54 AM · Restricted Project, Restricted Project, Restricted Project

Nov 19 2019

adalava added a comment to D67190: Fix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD.

As I'm not a commiter, may someone commit it, if it's the case, please?

Nov 19 2019, 4:16 AM · Restricted Project

Sep 19 2019

adalava updated the diff for D67190: Fix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD.

update fixing the typo found during review.

Sep 19 2019, 4:02 PM · Restricted Project
adalava added a comment to D67190: Fix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD.

Is there a good way to test this? If so, we should, if not, this seems fine to me (except the typo @hbae found).

Sep 19 2019, 3:52 PM · Restricted Project

Sep 4 2019

adalava created D67190: Fix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD.
Sep 4 2019, 11:49 AM · Restricted Project

Aug 29 2019

adalava accepted D66925: [PPC32] Emit R_PPC_GOT_TPREL16 instead R_PPC_GOT_TPREL16_LO.

This solution works for me.
Validated it on FreeBSD13-CURRENT/powerpc64, with 32 bit compatibility libraries built using this patch over LLVM9.

Aug 29 2019, 6:22 AM · Restricted Project

Jun 6 2019

adalava added a comment to D62464: [PPC32] Improve the 32-bit PowerPC port.

Great job, @MaskRay !!

Jun 6 2019, 7:09 AM · Restricted Project

May 16 2019

adalava added a comment to D61950: [PowerPC64] adds ABI parsing when specified on target triple.

Will FreeBSD 13 or future releases support ELFv1? If not, it may be cleaner to not invent -elfv2 -elfv1 triples, but rather dispatch on the major version, e.g. powerpc64-unknown-freebsd13.0 could mean ELFv2.

May 16 2019, 6:28 AM · Restricted Project, Restricted Project

May 15 2019

adalava added inline comments to D61950: [PowerPC64] adds ABI parsing when specified on target triple.
May 15 2019, 10:24 AM · Restricted Project, Restricted Project
adalava updated the diff for D61950: [PowerPC64] adds ABI parsing when specified on target triple.
  • remove redundant comment
May 15 2019, 10:20 AM · Restricted Project, Restricted Project
adalava added inline comments to D61950: [PowerPC64] adds ABI parsing when specified on target triple.
May 15 2019, 10:10 AM · Restricted Project, Restricted Project
adalava retitled D61950: [PowerPC64] adds ABI parsing when specified on target triple from [PowerPC64] recognize target triplet with ABI info (i.e. powerpc64-unknown-freebsd13-elfv2) to [PowerPC64] adds ABI parsing when specified on target triple.
May 15 2019, 8:49 AM · Restricted Project, Restricted Project
adalava created D61950: [PowerPC64] adds ABI parsing when specified on target triple.
May 15 2019, 8:33 AM · Restricted Project, Restricted Project

May 9 2019

adalava abandoned D61610: [PPC64] implement Thunk Section Spacing.

@adalava We care about the link time. I need to do some testing to ensure this doesn't cause regression. I've created https://reviews.llvm.org/D61720, fixed the tests and added ppc64-long-branch-init.s that I think captures the idea of the fix. Hope you don't mind my commandeering the change :)

May 9 2019, 9:24 AM · Restricted Project
adalava abandoned D61647: llvm-objdump: when ELF st_other field is set, print its value before symbol name.

See https://reviews.llvm.org/D61718 , not many tests need updating. The dump still diverges from GNU objdump in a few ways, e.g. the width of the size field, the number of spaces, the 'g' symbol etc

May 9 2019, 8:55 AM · Restricted Project

May 8 2019

adalava added inline comments to D61610: [PPC64] implement Thunk Section Spacing.
May 8 2019, 10:18 AM · Restricted Project
adalava updated the diff for D61610: [PPC64] implement Thunk Section Spacing.

update testcase to use readelf instead of objdump, so it doesn't depend on D61647 anymore

May 8 2019, 9:49 AM · Restricted Project
adalava added a comment to D61647: llvm-objdump: when ELF st_other field is set, print its value before symbol name.

This change makes sense and it will improve compatibility with GNU objdump. For your tests (I've commented there), I usually prefer llvm-readelf/llvm-readobj to llvm-objdump. The output of objdump also looks very weird to me. I remember @emaste said so in one FreeBSD issue.. I can check how many tests (you should at least check ninja -C Release check-llvm check-lld; clang has <5 llvm-objdump tests; ) will be impacted by this change. If there aren't many, I can fix them and commit that for you :)

May 8 2019, 9:23 AM · Restricted Project
adalava added a comment to D59436: [ELF] Fix missing ELF st_other field on versioned symbols.

Thanks. The test contains some constructs that are not used, e.g. .symver .addrsig. And I think it is usually better to use llvm-readelf/llvm-readobj. I always find the output of llvm-objdump/objdump weird.. If you don't mind, I can rewrite/minimalize the test and commit for you.

May 8 2019, 9:13 AM · Restricted Project
adalava updated the diff for D61610: [PPC64] implement Thunk Section Spacing.

increase to PPC64_REL24 range

May 8 2019, 9:02 AM · Restricted Project

May 7 2019

adalava added a comment to D61647: llvm-objdump: when ELF st_other field is set, print its value before symbol name.

This definitely seems a useful upgrade to me. Unfortunately it might affect a lot of lit tests. If we do intend to make a change we should try to match the output of the binutils objdump. I can see from the surrounding context we print out '.hidden', having a quick look it seems binutils will print out the visibility if its the only thing set, and the hex value otherwise (ie not both) here is an example:

May 7 2019, 3:30 PM · Restricted Project
adalava added a comment to D59436: [ELF] Fix missing ELF st_other field on versioned symbols.

Thank you @MaskRay, a test case was added. Please note this patch currently depends on D56586 and D61647 that need to go in first.

May 7 2019, 12:53 PM · Restricted Project
adalava added a reviewer for D59436: [ELF] Fix missing ELF st_other field on versioned symbols: MaskRay.
May 7 2019, 12:53 PM · Restricted Project
adalava updated the diff for D59436: [ELF] Fix missing ELF st_other field on versioned symbols.

add test case

May 7 2019, 12:48 PM · Restricted Project
adalava updated subscribers of D61647: llvm-objdump: when ELF st_other field is set, print its value before symbol name.
May 7 2019, 12:27 PM · Restricted Project
adalava updated the summary of D61647: llvm-objdump: when ELF st_other field is set, print its value before symbol name.
May 7 2019, 12:22 PM · Restricted Project
adalava created D61647: llvm-objdump: when ELF st_other field is set, print its value before symbol name.
May 7 2019, 12:08 PM · Restricted Project
adalava added a comment to D61610: [PPC64] implement Thunk Section Spacing.

Thank you guys. I updated the patch,;

May 7 2019, 8:36 AM · Restricted Project
adalava updated the diff for D61610: [PPC64] implement Thunk Section Spacing.

fix patch

May 7 2019, 8:32 AM · Restricted Project
adalava updated the diff for D61610: [PPC64] implement Thunk Section Spacing.
  • add space reservation, add comments and improve test
May 7 2019, 8:29 AM · Restricted Project

May 6 2019

adalava updated the summary of D61610: [PPC64] implement Thunk Section Spacing.
May 6 2019, 2:15 PM · Restricted Project
adalava created D61610: [PPC64] implement Thunk Section Spacing.
May 6 2019, 2:04 PM · Restricted Project

Apr 5 2019

adalava added a comment to rG70f25ebc6d15: luporl, adalava pending patches !!!!!!!!!.

It was brought up before.
phab for some reason counts all the commits to all the github forks of the official github llvm monorepo like this

Apr 5 2019, 5:52 AM
adalava added a comment to rG70f25ebc6d15: luporl, adalava pending patches !!!!!!!!!.

Sorry, I was in the wrong repository! It was meant to be in my private one.

Apr 5 2019, 5:45 AM
GitHub <noreply@github.com> committed rG9032b24aeae9: Unreachable (removed) (authored by adalava).
Merge 5efb305a998e6c80956d234452428f399100fce8 into…
Apr 5 2019, 4:47 AM
adalava committed rG5efb305a998e: Merge branch 'next80' of github.com:PPC64/llvm-project into next80 (authored by adalava).
Merge branch 'next80' of github.com:PPC64/llvm-project into next80
Apr 5 2019, 4:45 AM
adalava committed rGa9e7e3438e4d: adalava: add comment to 9f2bdd2f7da10a49f1cece341b20a17ed97ca88b (authored by adalava).
adalava: add comment to 9f2bdd2f7da10a49f1cece341b20a17ed97ca88b
Apr 5 2019, 4:44 AM
adalava committed rG9f2bdd2f7da1: adalava - implement PPC64::getThunkSectionSpacing() as workaround to "large… (authored by adalava).
adalava - implement PPC64::getThunkSectionSpacing() as workaround to "large…
Apr 5 2019, 4:44 AM
adalava committed rG31247e381f97: adalava: change default powerpc64 ABI to ELFv2 on FreeBSD >= 13.0 (authored by adalava).
adalava: change default powerpc64 ABI to ELFv2 on FreeBSD >= 13.0
Apr 5 2019, 4:44 AM
adalava committed rG70f25ebc6d15: luporl, adalava pending patches !!!!!!!!! (authored by adalava).
luporl, adalava pending patches !!!!!!!!!
Apr 5 2019, 4:44 AM

Mar 15 2019

adalava updated the summary of D59436: [ELF] Fix missing ELF st_other field on versioned symbols.
Mar 15 2019, 3:28 PM · Restricted Project
adalava added a comment to D59436: [ELF] Fix missing ELF st_other field on versioned symbols.

Example code:

Mar 15 2019, 3:15 PM · Restricted Project
adalava retitled D59436: [ELF] Fix missing ELF st_other field on versioned symbols from Fix missing ELF st_other field on versioned symbols to [ELF] Fix missing ELF st_other field on versioned symbols.
Mar 15 2019, 3:07 PM · Restricted Project
adalava created D59436: [ELF] Fix missing ELF st_other field on versioned symbols.
Mar 15 2019, 3:00 PM · Restricted Project

Jan 24 2019

adalava added a reviewer for D56782: [PPC64] Preserve LocalEntry when linking: emaste.
Jan 24 2019, 7:20 AM · Restricted Project
adalava added a reviewer for D56586: [PPC64] Update LocalEntry from assigned symbols: emaste.
Jan 24 2019, 7:17 AM · Restricted Project