User Tools

Site Tools


spo600:2025_winter_project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
spo600:2025_winter_project [2025/03/14 10:18] chrisspo600:2025_winter_project [2025/03/14 10:21] (current) chris
Line 77: Line 77:
 Two possible approaches to this problem are (1) to iterate through the statements in each function, comparing them statement-by-statement; or (2) generating some type of hash or signature that uniquely identifies the implementation of the function and which can be compared to the hash/signature of a clone to see if they are different. In either case, you need to accomodate the variation in variable, label, and basic block names. Two possible approaches to this problem are (1) to iterate through the statements in each function, comparing them statement-by-statement; or (2) generating some type of hash or signature that uniquely identifies the implementation of the function and which can be compared to the hash/signature of a clone to see if they are different. In either case, you need to accomodate the variation in variable, label, and basic block names.
  
-Please output one of these specific strings in your dump file, each on its own line, based whether the cloned functions are the same (PRUNE) or different (NOPRUNE): +You must output one of these specific strings in your dump file, each on its own line, conditional on whether the cloned functions are the same (PRUNE) or different (NOPRUNE): 
-  * ''PRUNE: //name of base function//'' +  * ''PRUNE: //function//'' 
-  * ''NOPRUNE: //name of base function//'' +  * ''NOPRUNE: //function//'' 
-Where //name of base function// is the original name of the function that should (or should not) be pruned.+Where //function// is the original name of the function that should (or should not) be pruned, without the variant portion.
  
 Your solution should build and execute successfully on both x86_64 and aarch64 systems, and should take into account the differences between the FMV implementations on those two architectures (for example, the munging algorithm used to create the suffixes for the cloned functions is different). Your solution should build and execute successfully on both x86_64 and aarch64 systems, and should take into account the differences between the FMV implementations on those two architectures (for example, the munging algorithm used to create the suffixes for the cloned functions is different).
spo600/2025_winter_project.txt · Last modified: 2025/03/14 10:21 by chris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki