Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Issue 828873002: Subzero: Start writing out some relocation sections (text) (Closed)

Created:
5 years, 11 months ago by jvoung (off chromium)
Modified:
5 years, 11 months ago
Reviewers:
Jim Stichnoth
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Start writing out some relocation sections (text). Pass the full assembler pointer to the elf writer, so that it has access to both the text buffer and the fixups. Remove some child classes of AssemblerFixups. They didn't really do much, and were pretty much identical to the original AssemblerFixup class. Dart had a virtual method for fixups to do necessary patching, but we currently don't do the patching and just emit the relocations. TODO see if patching is more efficient than writing out relocations and letting the linker do the work. This CL also makes AssemblerFixups POD. Change the fixup kind to be a plain unsigned int, which the target can fill w/ target/container-specific values. Move the fwd declaration of Assembler to IceDefs and remove the others. Do similar for fwd declaration refactoring for ELFWriter. Make the createAssembler method return a std::unique_ptr. BUG=none R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=ec27073120be04bf6234a0742e40ae3454ef9d3f

Patch Set 1 #

Patch Set 2 : xxx #

Patch Set 3 : rebase #

Patch Set 4 : rebase #

Patch Set 5 : tweak #

Patch Set 6 : misc stuff #

Patch Set 7 : format #

Total comments: 4

Patch Set 8 : review fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+361 lines, -222 lines) Patch
M Makefile.standalone View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/IceCfg.cpp View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M src/IceDefs.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M src/IceELFObjectWriter.h View 1 2 3 chunks +9 lines, -4 lines 0 comments Download
M src/IceELFObjectWriter.cpp View 1 2 3 4 5 6 8 chunks +59 lines, -9 lines 0 comments Download
M src/IceELFSection.h View 1 2 3 4 5 6 chunks +52 lines, -32 lines 0 comments Download
M src/IceELFSection.cpp View 1 2 3 4 chunks +42 lines, -9 lines 0 comments Download
M src/IceFixups.h View 1 2 3 4 5 6 7 1 chunk +27 lines, -7 lines 0 comments Download
A src/IceFixups.cpp View 1 2 3 4 5 6 7 1 chunk +52 lines, -0 lines 0 comments Download
M src/IceGlobalContext.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M src/IceGlobalContext.cpp View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInstX8632.cpp View 1 2 3 3 chunks +3 lines, -5 lines 0 comments Download
M src/IceTargetLowering.h View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M src/IceTargetLowering.cpp View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/assembler.h View 1 2 3 4 5 6 chunks +14 lines, -54 lines 0 comments Download
M src/assembler.cpp View 1 2 3 6 chunks +15 lines, -39 lines 0 comments Download
M src/assembler_ia32.h View 1 2 3 5 chunks +9 lines, -26 lines 0 comments Download
M src/assembler_ia32.cpp View 1 2 3 4 chunks +4 lines, -21 lines 0 comments Download
M src/llvm2ice.cpp View 1 2 3 chunks +4 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/elf_container.ll View 1 2 3 4 5 6 chunks +56 lines, -6 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
jvoung (off chromium)
5 years, 11 months ago (2015-01-12 19:33:01 UTC) #2
Jim Stichnoth
otherwise lgtm https://codereview.chromium.org/828873002/diff/120001/src/IceFixups.cpp File src/IceFixups.cpp (right): https://codereview.chromium.org/828873002/diff/120001/src/IceFixups.cpp#newcode36 src/IceFixups.cpp:36: assert(llvm::isa<ConstantFloat>(C) || llvm::isa<ConstantDouble>(C)); This assert will probably ...
5 years, 11 months ago (2015-01-12 21:39:32 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/828873002/diff/120001/src/IceFixups.cpp File src/IceFixups.cpp (right): https://codereview.chromium.org/828873002/diff/120001/src/IceFixups.cpp#newcode36 src/IceFixups.cpp:36: assert(llvm::isa<ConstantFloat>(C) || llvm::isa<ConstantDouble>(C)); On 2015/01/12 21:39:32, stichnot wrote: > ...
5 years, 11 months ago (2015-01-12 22:41:28 UTC) #4
jvoung (off chromium)
5 years, 11 months ago (2015-01-13 01:00:27 UTC) #5
Message was sent while issue was closed.
Committed patchset #8 (id:70021) manually as
ec27073120be04bf6234a0742e40ae3454ef9d3f (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698