On 06/26/2012 07:47 PM, Andrew Bernat wrote:
> Give the dyninst_proccontrol branch a pull and build. I've removed all references to dynptr from everything except DepGraph, which is deprecated and shouldn't be built.
>
> Drew
Hi Drew,
Thanks for eliminating the dynptr.h includes.
dyninst/common/src/dwarfExpr.C is not building on Fedora 17 with gcc version 4.7.0 20120507:
Compiling ../src/dwarfExpr.C
../src/dwarfExpr.C: In function ‘bool decodeDwarfExpression(Dwarf_Locdesc*, long int*, Dyninst::VariableLocation*, bool&, Dyninst::ProcessReader*, Dyninst::Architecture, long int&)’:
../src/dwarfExpr.C:312:16: error: ‘uint32_t’ was not declared in this scope
../src/dwarfExpr.C:312:25: error: expected ‘;’ before ‘v’
../src/dwarfExpr.C:313:49: error: ‘v’ was not declared in this scope
../src/dwarfExpr.C:317:16: error: ‘uint64_t’ was not declared in this scope
../src/dwarfExpr.C:317:25: error: expected ‘;’ before ‘v’
../src/dwarfExpr.C:318:49: error: ‘v’ was not declared in this scope
../src/dwarfExpr.C:335:16: error: ‘uint8_t’ was not declared in this scope
../src/dwarfExpr.C:335:24: error: expected ‘;’ before ‘v’
../src/dwarfExpr.C:336:49: error: ‘v’ was not declared in this scope
../src/dwarfExpr.C:340:16: error: ‘uint16_t’ was not declared in this scope
../src/dwarfExpr.C:340:25: error: expected ‘;’ before ‘v’
../src/dwarfExpr.C:341:49: error: ‘v’ was not declared in this scope
../src/dwarfExpr.C:345:16: error: ‘uint32_t’ was not declared in this scope
../src/dwarfExpr.C:345:25: error: expected ‘;’ before ‘v’
../src/dwarfExpr.C:346:49: error: ‘v’ was not declared in this scope
../src/dwarfExpr.C:350:16: error: ‘uint64_t’ was not declared in this scope
../src/dwarfExpr.C:350:25: error: expected ‘;’ before ‘v’
../src/dwarfExpr.C:351:49: error: ‘v’ was not declared in this scope
make[1]: *** [dwarfExpr.o] Error 1
make[1]: Leaving directory `/home/wcohen/dyninst/dyninst/common/x86_64-unknown-linux2.4'
Look like need the following include in dwarfExpr.C
#include <stdint.h>
Also missing <cstring> include. Attached is the patch file used to fix those and get the rpm to build on Fedora 17/rawhide. Now building on:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4206073
-Will
>
> On Jun 25, 2012, at 11:33 AM, Andrew Bernat wrote:
>
>> As a short answer, DepGraph is Dep-recated (heh) and can be removed. I've fixed most of the others and can push shortly.
>>
>> Drew
>>
>> --
>> Drew Bernat
>> bernat@xxxxxxxxxxx <mailto:bernat@xxxxxxxxxxx>
>> abernat@xxxxxxxxxxx
>>
>> On Jun 25, 2012, at 10:13 AM, William Cohen <wcohen@xxxxxxxxxx> wrote:
>>
>>> Hi All,
>>>
>>> There is now a testing rpm based on the dyninst/dyninst_proccontrol branch of the dyninst git repo available in Fedora rawhide:
>>>
>>> http://koji.fedoraproject.org/koji/taskinfo?taskID=4194460
>>>
>>> The package currently builds and installs. Now working through and seeing what other things need to be fixed.
>>>
>>> The dynint install no longer installs the dynptr.h file from dynutil/h/dynptr.h. The body of dynptr.h is ifdef'ed out. There are a number of files that still reference "dynptr.h" in the dyninst/dyninst_proccontrol git branch:
>>>
>>> $ find -type f -exec grep include {} /dev/null \; |grep dynptr.h
>>> ./depGraphAPI/src/analyzePDG.C:#include "dynptr.h"
>>> ./depGraphAPI/src/analyzeXPDG.C:#include "dynptr.h"
>>> ./depGraphAPI/src/DDG.C:#include "dynptr.h"
>>> ./depGraphAPI/h/xPDG.h:#include "dynptr.h"
>>> ./depGraphAPI/h/PDG.h:#include "dynptr.h"
>>> ./depGraphAPI/h/DDG.h:#include "dynptr.h"
>>> ./depGraphAPI/h/CDG.h:#include "dynptr.h"
>>> ./depGraphAPI/h/Absloc.h:#include "dynptr.h"
>>> ./depGraphAPI/h/FDG.h:#include "dynptr.h"
>>> ./dataflowAPI/src/RoseInsnFactory.h:#include "dynptr.h"
>>> ./dataflowAPI/h/stackanalysis.h:#include "dynptr.h"
>>> ./dataflowAPI/h/slicing.h:#include "dynptr.h"
>>> ./proccontrol/src/response.h:#include "dynptr.h"
>>> ./proccontrol/h/ProcessSet.h:#include "dynptr.h"
>>> ./proccontrol/h/Event.h:#include "dynptr.h"
>>> ./instructionAPI/src/InstructionDecoderImpl.h:#include "dynptr.h"
>>> ./instructionAPI/src/Operand.C:#include "dynptr.h"
>>> ./instructionAPI/h/Expression.h:#include "dynptr.h"
>>> ./instructionAPI/h/InstructionAST.h:#include "dynptr.h"
>>> ./dyninstAPI/src/ast.h:#include "dynptr.h"
>>> ./dyninstAPI/src/IAPI_to_AST.h:#include "dynptr.h"
>>> ./dyninstAPI/src/Relocation/Widgets/Widget.h:#include "dynptr.h" // shared_ptr
>>> ./dyninstAPI/src/Relocation/Transformers/Transformer.h:#include "dynptr.h" // shared_ptr
>>> ./dyninstAPI/src/Relocation/CFG/RelocBlock.h:#include "dynptr.h" // shared_ptr
>>> ./dyninstAPI/src/Relocation/Relocation.h:#include "dynptr.h"
>>> ./dyninstAPI/src/Relocation/CodeMover.h:#include "dynptr.h"
>>> ./dyninstAPI/src/function.h:#include "dynptr.h"
>>> ./dyninstAPI/h/BPatch_snippet.h:#include "dynptr.h"
>>> ./common/h/singleton_object_pool.h:#include "dynptr.h"
>>> ./parseAPI/src/IA_powerDetails.h:#include "dynptr.h"
>>> ./dynutil/h/dynptr.h:#include "boost/shared_ptr.hpp"
>>> ./dynutil/h/dynptr.h:#include "boost/weak_ptr.hpp"
>>> ./dynutil/h/dynptr.h:#include "boost/enable_shared_from_this.hpp"
>>> ./dynutil/h/AST.h:#include "dynptr.h"
>>>
>>> It looks like the following patch is added in the "#include "dynptr.h":
>>>
>>> http://git.dyninst.org/?p=dyninst.git;a=commit;h=2ead336f3d4d504f89fb14f0ed6aad84c0adc96d
>>>
>>> Shouldn't those dynptr.h includes just go away?
>>>
>>>
>>> -Will
>>> _______________________________________________
>>> Dyninst-api mailing list
>>> Dyninst-api@xxxxxxxxxxx
>>> https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
>> _______________________________________________
>> Dyninst-api mailing list
>> Dyninst-api@xxxxxxxxxxx
>> https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
>
> --
> Andrew Bernat
> Paradyn Project
> bernat@xxxxxxxxxxx <mailto:bernat@xxxxxxxxxxx>
> http://www.cs.wisc.edu/~bernat
>
>
>
>
diff -up dyninst-7.99/dyninst/common/src/dwarfExpr.C.stdint dyninst-7.99/dyninst/common/src/dwarfExpr.C
--- dyninst-7.99/dyninst/common/src/dwarfExpr.C.stdint 2012-06-27 10:54:00.000000000 -0400
+++ dyninst-7.99/dyninst/common/src/dwarfExpr.C 2012-06-28 12:25:45.384998827 -0400
@@ -29,6 +29,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <stdint.h>
#include <stack>
#include "dynutil/h/dyn_regs.h"
#include "common/h/dwarfExpr.h"
diff -up dyninst-7.99/dyninst/proccontrol/src/handler.C.stdint dyninst-7.99/dyninst/proccontrol/src/handler.C
--- dyninst-7.99/dyninst/proccontrol/src/handler.C.stdint 2012-06-28 12:35:38.218003723 -0400
+++ dyninst-7.99/dyninst/proccontrol/src/handler.C 2012-06-28 12:36:04.286000028 -0400
@@ -28,6 +28,8 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+
+#include <cstring>
#include "proccontrol/h/Handler.h"
#include "proccontrol/h/PCErrors.h"
#include "proccontrol/h/PCProcess.h"
|